nocvp/zf3-php7-recaptcha-v2

ReCaptcha v2.0 module for Zend Framework 3 (ZF3) and Php7

1.4.3 2016-05-29 18:51 UTC

This package is not auto-updated.

Last update: 2024-04-13 16:56:59 UTC


README

Zf3Php7Recaptcha is forked by zf2-recaptcha features.

Installation

with composer

Just add the following line to your requirements:

"nocvp/zf3-php7-recaptcha-v2": "dev-master"

and run

php composer.phar update

Since there are problems with the SSL-Cert if you use Adapter\Socket, please install php-curl!

Then activate the module in your application.config.php :

```php
return array(
    'modules' => array(
        // ...
        'Zf3Php7Recaptcha',
    ),
    // ...
);
```

Get your private-key

To use this service, you have to register at Google ReCaptcha using your Google-Account.

Usage

with Zend\From

This module works similar as ZendFrameworkService\ReCaptcha.

Just add the following lines to your form creation:

$element = new \Zend\Captcha\Captcha('g-recaptcha-response');
$element->setCaptcha(new Zf3Php7Recaptcha\ReCaptcha(array('private_key' => 'YOUR_SECRET FROM GOOGLE', 'public_key' => 'YOUR_PUBLIC_KEY', 'theme' => 'dark')));
$form->add($element);

Important: The element has to be named g-recaptcha-response due to the reason that the JS from google creates this virtual input.

Remember to add this element to your validationChain as well.

Note: The theme parameter is not required. By default the light theme is used.

It acts the same way as any other built-in captcha solution.

with ServiceManager

If you like to implement the view on your own, just use the Service\ReCaptchaService. It handles the whole communication between your code and the ReCaptcha API.

$recaptcha = $serviceLocator->get('Zf3Php7Recaptcha\Service\ReCaptcha');

other

just look into the sources! It's pretty easy to understand.

TODO

  • PHPUnit Tests are missing -> Will do this in the next couple of days
  • some error handling is qnd
  • better documentation

Questions?

If you have any problems or questions regarding my code, please create an issue. Since i'm using this module for my own projects i'm interested in keeping this up to date!