扩展包内定义了一些常见用法方便使用,以下示例说明

模版内验证码的显示

  1. <div>{:captcha_img()}</div>

或者

  1. <div><img src="{:captcha_src()}" alt="captcha" /></div>

使用TP5的内置验证功能,添加captcha验证规则即可

  1. $this->validate($data,[
  2. 'captcha|验证码'=>'require|captcha'
  3. ]);

或者手动验证

  1. if(!captcha_check($captcha)){
  2. //验证失败
  3. };

如果项目未开启路由,或者有实际需求可自行调用Captcha类操作

如果你需要在一个页面中生成多个验证码的话,entry方法需要传入可标识的信息,例如:

  1. $captcha = new Captcha();
  2. return $captcha->entry(1);

验证码的验证:可以用Captcha类的check方法检测验证码的输入是否正确,例如,下面是封装的一个验证码检测的函数:

  1. // 检测输入的验证码是否正确,$code为用户输入的验证码字符串,$id多个验证码标识
  2. $captcha = new Captcha();
  3. }

Captcha类带有默认的配置参数,支持自定义配置。这些参数包括:

参数设置使用两种方式。实例化传入参数:

  1. $config = [
  2. // 验证码字体大小
  3. 'fontSize' => 30,
  4. // 验证码位数
  5. 'length' => 3,
  6. // 关闭验证码杂点
  7. 'useNoise' => false,
  8. ];
  9. $captcha = new Captcha($config);
  10. return $captcha->entry();

或者采用动态设置的方式,如:

  1. $captcha = new Captcha();
  2. $captcha->fontSize = 30;
  3. $captcha->length = 3;

验证码字体

背景图片

支持验证码背景图片功能,可以如下设置:

  1. $captcha = new Captcha();
  2. // 开启验证码背景图片功能 随机使用扩展包内`think-captcha/assets/bgs`目录下面的图片
  3. $captcha->useImgBg = true;
  4. return $captcha->entry();

中文验证码

如果要使用中文验证码,可以设置:

  1. $captcha = new Captcha();
  2. //中午 验证码字体使用扩展包内`think-captcha/assets/zhttfs`字体文件
  3. $captcha->useZh = true;
  4. return $captcha->entry();

指定验证码字符

指定验证码的字符,可以设置:

  1. $captcha = new Captcha();
  2. // 设置验证码字符为纯数字
  3. $captcha->codeSet = '0123456789';
  4. return $captcha->entry();
  1. $captcha = new Captcha();
  2. $captcha->useZh = true;
  3. // 设置验证码字符