1.ThinkPHP验证码安装和使用
1.安装captcha组件:composer require topthink/think-captcha
2.安装成功后要开启Session才能生效:
- 在该应用的根目录下找到middleware.php,在文件中开启session功能
- 只需要在文件return返回值中添加:
\think\middleware\SessionInit::class
- 例如:
<?php
// 这是系统自动生成的middleware定义文件
return [
// 全局请求缓存
// \think\middleware\CheckRequestCache::class,
// 多语言加载
// \think\middleware\LoadLangPack::class,
// Session初始化
\think\middleware\SessionInit::class
];
3.调用Captcha类时,需要先引用think\captcha\facade\Captcha;
4.直接使用Captcha::create()
生成一个验证码图片返回地址;前端直接问该地址即可
5.验证验证码可以使用助手函数:captcha_check($value)
或者使用captcha类中的check方法:$captcha->check($value)
;$value是前端传过人工输入的验证码;正确返会true
错误返回false
;
6.captcha验证的配置参数:一般在多应用模式下使用验证码时,需要单独配置时,需要在主目录下config
文件中的captcha.php
文件复制到该应用的config
文件下进行单独配置
7.在captcha.php文件中开启verify
字段,在里面配置验证码相关参数,配置参数可以参考captcha.php文件的配置;在使用配置时创建建验证码把verify
字段传到Captcha::create('verify')
即可
ThinkPHP框架下Sesiion的使用
1.ThinkPHP框架中内置了Session系统级助手函数,所以在使用时可以直接使用助手;
2.常见的关于Session助手函数:
// 赋值
session('name', 'thinkphp');
// 判断是否赋值
session('?name');
// 取值
session('name');
// 删除
session('name', null);
// 清除sessionsession(null);
3.如果是File类型的话,默认的session会话数据保存在runtime/session目录下面
4.session基本配置在该用config
下session.php文件中,需要自定义配置时,可以在里面修改配置;
5.多应用情况下默认Session是跨应用的,也就是说多应用之间是共享会话数据的,如果不希望共享会话数据,可以给每个应用在session.php
文件中设置不同的前缀prefix