1、安装
我们通过 Composer 安装Captcha 扩展包 : composer require mews/captcha
注:Windows中使用该扩展包还需要安装 GD2 扩展(在 php.ini 中取消 php_gd2.dll 前面的注释)。
2、配置
使用Captcha服务提供者之前还需要在 config/app.php 中注册服务提供者: 'providers' => [ // ... Mews\Captcha\CaptchaServiceProvider::class,]
同时注册下相应门面: 'aliases' => [ // ... 'Captcha' => Mews\Captcha\Facades\Captcha::class,]
如果要使用自定义的配置,还可以发布配置文件到 config 目录: $ php artisan vendor:publish
编辑新生成的 captcha.php : return [ 'default' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, ], // ...];
3、使用示例 // app/Http/routes.phpRoute::any('captcha-test', function(){ if (Request::getMethod() == 'POST') { $rules = ['captcha' => 'required|captcha']; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { echo '
Incorrect!'; } else { echo '
Matched :)'; } } $form = ''; $form .= ''; $form .= '
' . captcha_img() . ''; $form .= '
'; $form .= '
Check'; $form .= ''; return $form;});
显示效果如下:
如果要返回原生图片,可以调用这个函数: captcha();
或者 Captcha::create();
如果要返回URL: captcha_src();
或者 Captcha::src();
如果要返回HTML: captcha_img();
我们这个示例中使用的就是这个函数,或者调用 Captcha 门面上的方法: Captcha::img();
要使用配置文件 captcha.php 中不同的配置项,可以这样调用: captcha_img('flat');Captcha::img('inverse');