数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

SW-X内置了一个图形验证码类,基于\x\verify\Figure类做驱动支持。
正常情况下控制器继承\x\controller\Http基类后,我们可以直接使用verify()方法生成验证码,verify_check()方法校验验证码。

配置项

下面,我们先来看下/config/app.php中,有关验证码的相关配置信息:

<?php
// +-----------------------------
// | 验证码设置
// +-----------------------------

'verify'             => [
    // 验证码字体大小(px)
    'fontsize' => 20,     
    // 验证码图片高度 
    'height'   => 32,      
    // 验证码图片宽度
    'width'    => 150,  
    // 验证码位数   
    'length'   => 4,       
    // 验证码字体样式
    'ttf' 	   => '6.ttf', 
    // 验证码过期时间,单位:秒
    'expire'   => 60,      
    // 是否添加混淆曲线
    'curve'	   => true,	   
    // 是否添加杂点
    'noise'	   => true,	 
    // 发起验证后是否需要更新验证码  
    'update'   => true,
],

生成验证码

依赖类:\x\controller\Http
方法名:verify()

参数:

  • int $type

    • 功能: 图形模式
    • 值单位:数字
    • 默认值1
    • 其它值1英数混合,2数字运算
  • string $session_name

    • 功能:验证码SESSION的KEY名
    • 值单位:字符串
    • 默认值__vif__
    • 其它值:无
  • array $config

    • 功能:可传入自定义配置
    • 值单位:一维数组,参考上面的配置项
    • 默认值[],非必填
    • 其它值:无

返回值:

示例控制器代码:

namespace app\http;
use x\controller\Http;

/**
 * @Controller(prefix="")
*/
class Index extends Http
{
    /**
     * @RequestMapping(route="/", method="get", title="主页")
    */
    public function index() {
        // 生成验证码
        return $this->verify();
    }
}

核验验证码

依赖类:\x\controller\Http
方法名:verify_check()

参数:

  • string $code

    • 功能:验证码的值
    • 值单位:字符串
    • 默认值:无
    • 其它值:无
  • string $session_name

    • 功能:验证码SESSION的KEY名
    • 值单位:字符串
    • 默认值__vif__
    • 其它值:无

返回值:bool

示例控制器代码:

namespace app\http;
use x\controller\Http;

/**
 * @Controller(prefix="")
*/
class Index extends Http
{
    /**
     * @RequestMapping(route="/", method="get", title="主页")
    */
    public function index() {
        $param = \x\Request::param();
        // 校验验证码
        $bool = $this->verify_check($param['code']);

        return $this->fetch(dd($bool));
    }
}

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录