黄永成-thinkphp讲解-个人博客讲解26集

如果是要导入 前后台分组都公用的 第三方类库, 就将类库(*.class.php文件) 放在 App下的Class文件夹中.
导入方法是:
import('Class.Image', APP_PATH);

---------------------------- ==
在项目的配置文件目录Conf下有一个配置文件:config.php,
可以把所有的配置项都放在这个文件里面,

为了分门别类, 便于管理配置文件, 也可以使用多个配置文件, 但是也可以把某些特别的配置项/配置内容放在另外的单独的文件中, 如: another.config.php

但是要在 "主"配置文件中config.php中, 设置: 'LOAD_EXT_CONFIG'=>another.config.php
由此, 也可以看出, 并不是所有的配置项, 都在 TP/Conf/convention.php中查得到.

THINKPHP框架, 提供了完整的系统常量 "系": "path系"和"name系"

path系: APP_PATH, GROUP_PATH, MODULE_PATH, CORE_PATH, LIB_PATH,
下面的name系: 同上面的一系列....

------------------------------------- ==
public function captcha(){
// load my class 加载自定义的第三方类
//echo APP_PATH.'Modules/'.GROUP_NAME; // 预先看看自定义类库的路径
//die;
import('MyImage.Image',APP_PATH.'Modules/'.GROUP_NAME); // 这时候加载的是: App/Modules/Admin/MyImage/ 目录下的Image类库
Image::buildImageVerify();
}
经检验, 能够正确加载!

--------------------------------- ==
关于生成验证码的问题?
要注意, 首先, 这个验证码应该是一个图像! 所以在 对应的html文件中, 应该使用 img.... 标签, 然后, 考虑 src属性?
类库Image的方法buildImageVerfify 返回的是一个 字符串:

    /**
     * 生成图像验证码
     * @static
     * @access public
     * @param string $length  位数
     * @param string $mode  类型
     * @param string $type 图像格式
     * @param string $width  宽度
     * @param string $height  高度
     * @return string
     */
    static function buildImageVerify($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify') {

所以它正好可以作为 验证码的 img的 src属性值!

    即: <img src={:U(GROUP_NAME.'/Login/captcha')} />

要注意的是, 在html中使用模板的格式是: 要在最外面的地方加大括号, 再在大括号里面使用 :U或 php变量$..., 而不是把冒号: 写在大括号的外面/前面了!否则就 不会被作为模板变量被替换, 而是作为原来的字符串而出错!

<form action="{:U('Admin/Login/verify')}" >  // 这里不是 :{U(.....)}

	<tr>
		<td>captcha</td>
		<td><input type="text" /><img src="{:U(GROUP_NAME.'/Login/captcha')}" /></td>
	</tr>	


// src="{:U(GROUP_NAME.'/Login/captcha') U方法得到的实际上是一个  包含图片的 captcha.html页面, 这个跟 src=xx.png 的效果是一样的!

原文地址:https://www.cnblogs.com/bkylee/p/5508504.html