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

时间:2023-03-10 00:01:23
黄永成-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 的效果是一样的!