黄永成-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 的效果是一样的!