heimuya / captcha
Laravel 5 验证码包
Requires
- php: >=5.4
- ext-gd: *
- illuminate/config: ~5.0
- illuminate/filesystem: ~5.0
- illuminate/hashing: ~5.0
- illuminate/support: ~5.0
- intervention/image: ~2.2
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.1
README
只为SPA和微信应用添加一个有用的功能。
由于mewebstudio目前未合并pull request,因此我发布了新的包。当mewebstudio添加那些功能时,此包将被删除。
Laravel 5 验证码
一个简单的Laravel 5 服务提供者,用于包含 Captcha for Laravel 5。
针对 Laravel 4 Captcha for Laravel Laravel 4
预览
安装
可以通过 Composer 安装 Captcha 服务提供者,在项目的 composer.json 中要求 Heimuya/captcha 包并将 minimum-stability 设置为 dev(Laravel 5 所需)。
{
"require": {
"laravel/framework": "5.0.*",
"Heimuya/captcha": "~2.0"
},
"minimum-stability": "dev"
}
或者
使用 composer 安装此包
composer require Heimuya/captcha
使用 composer update 更新包或使用 composer install 安装。
在 Windows 上,您需要在 php.ini 中包含 GD2 DLL php_gd2.dll。您还需要包含 php_fileinfo.dll 和 php_mbstring.dll 以满足 Heimuya/captcha 依赖项的要求。
用法
要使用 Captcha 服务提供者,您必须在启动 Laravel 应用程序时注册提供者。实际上有两种方法可以做到这一点。
在 config/app.php 中找到 providers 键并注册 Captcha 服务提供者。
'providers' => [ // ... 'Heimuya\Captcha\CaptchaServiceProvider', ]
针对 Laravel 5.1+
'providers' => [ // ... Heimuya\Captcha\CaptchaServiceProvider::class, ]
在 config/app.php 中找到 aliases 键。
'aliases' => [ // ... 'Captcha' => 'Heimuya\Captcha\Facades\Captcha', ]
针对 Laravel 5.1+
'aliases' => [ // ... 'Captcha' => Heimuya\Captcha\Facades\Captcha::class, ]
配置
要使用自己的设置,请发布配置。
$ php artisan vendor:publish
config/captcha.php
return [ 'default' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, 'type' => 'png' ], // ... ];
示例用法
// [your site path]/Http/routes.php Route::any('captcha-test', function() { if (Request::getMethod() == 'POST') { $rules = ['captcha' => 'required|captcha']; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { echo '<p style="color: #ff0000;">Incorrect!</p>'; } else { echo '<p style="color: #00ff30;">Matched :)</p>'; } } $form = '<form method="post" action="captcha-test">'; $form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">'; $form .= '<p>' . captcha_img() . '</p>'; $form .= '<p><input type="text" name="captcha"></p>'; $form .= '<p><button type="submit" name="check">Check</button></p>'; $form .= '</form>'; return $form; });
返回图片
captcha();
或者
Captcha::create();
返回URL
captcha_src();
或者
Captcha::src();
返回HTML
captcha_img();
或者
Captcha::img();
返回ajax或微信应用请求的 DATA-URL
captcha_data_url();
或者
Captcha::create('flat')->encode('data-url')->encoded
要使用不同的配置
captcha_img('flat'); Captcha::img('inverse');
等。
^_^