A simple Laravel 4 service provider for including the Captcha for Laravel 4.
The Captcha Service Provider can be installed via Composer by requiring the
mews/captcha
package and setting the minimum-stability
to dev
(required for Laravel 4) in your
project's composer.json
.
{
"require": {
"laravel/framework": "4.0.*",
"mews/captcha": "dev-master"
},
"minimum-stability": "dev"
}
Update your packages with composer update
or install with composer install
.
To use the Captcha Service Provider, you must register the provider when bootstrapping your Laravel application. There are essentially two ways to do this.
Find the providers
key in app/config/app.php
and register the Captcha Service Provider.
'providers' => array(
// ...
'Mews\Captcha\CaptchaServiceProvider',
)
Find the aliases
key in app/config/app.php
.
'aliases' => array(
// ...
'Captcha' => 'Mews\Captcha\Facades\Captcha',
)
To use your own settings, publish config.
$ php artisan config:publish mews/captcha
// [your site path]/app/routes.php
Route::any('/captcha-test', function()
{
if (Request::getMethod() == 'POST')
{
$rules = array('captcha' => array('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>';
}
}
$content = Form::open(array(URL::to(Request::segment(1))));
$content .= '<p>' . HTML::image(Captcha::img(), 'Captcha image') . '</p>';
$content .= '<p>' . Form::text('captcha') . '</p>';
$content .= '<p>' . Form::submit('Check') . '</p>';
$content .= '<p>' . Form::close() . '</p>';
return $content;
});
^_^