redpic / antigate
antigate.com API Laravel 5.1 package
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
Type:package
Requires
- guzzlehttp/guzzle: ^6.0
- illuminate/bus: 5.1.*
- illuminate/contracts: 5.1.*
- illuminate/queue: 5.1.*
- illuminate/support: 5.1.*
This package is not auto-updated.
Last update: 2024-12-21 19:05:29 UTC
README
antigate.com API Laravel 5.1 package
Инструкция
Установите пакет: composer require redpic/antigate
Добавьте сервис-провайдер в config/app.php
:
'providers' => [ // ... Redpic\Antigate\AntigateServiceProvider::class, ];
Опубликуйте конфиг: php artisan vendor:publish
и впишите в него токен доступа: config/antigate.php
Создайте два слушателя событий:
php artisan make:listener test --event CaptchaWasRecognized
php artisan make:listener test --event CaptchaWasNotRecognized
Приведите их к виду:
app/Listeners/CaptchaWasRecognizedListener.php
:
<?php namespace App\Listeners; use Redpic\Antigate\Events\CaptchaWasRecognized; use Redpic\Antigate\Jobs\RecognizeCaptcha; class CaptchaWasRecognizedListener { public function handle(CaptchaWasRecognized $event) { $event->captcha->getKey(); // Тут текст разгаданной капчи } }
app/Listeners/CaptchaWasNotRecognizedListener.php
:
<?php namespace App\Listeners; use Redpic\Antigate\Events\CaptchaWasNotRecognized; use Redpic\Antigate\Jobs\RecognizeCaptcha; class CaptchaWasNotRecognizedListener { public function handle(CaptchaWasNotRecognized $event) { $event->captcha; // Не разгаданная капча $event->exception; // Исключение вызванное во время работы /* Если в этом месте вызвать какое то исключение, то задание по разгадываю этой капчи снова добавится в очередь */ } }
Зарегистрируйте слушатели app/Providers/EventServiceProvider.php
:
protected $listen = [ //... 'Redpic\Antigate\Events\CaptchaWasRecognized' => [ 'App\Listeners\CaptchaWasRecognizedListener', ], 'Redpic\Antigate\Events\CaptchaWasNotRecognized' => [ 'App\Listeners\CaptchaWasNotRecognizedListener', ], ];
Добавление задания из контроллера выглядит примерно так:
$captcha = (new Captcha)->setImageByUrl('http://ПУТЬ_К_КАПЧЕ'); $this->dispatch(new RecognizeCaptcha($captcha));