openclassrooms / akismet
Akismet Library
Installs: 449 638
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 30
Forks: 3
Open Issues: 0
Requires
- php: >=5.4
- guzzlehttp/guzzle: ~6.2
Requires (Dev)
- phpunit/phpunit: ~5.5
- satooshi/php-coveralls: dev-master
This package is auto-updated.
Last update: 2025-01-07 00:12:43 UTC
README
This is a PHP5 library that provides Akismet Spam Protection service functionality in your application.
Installation
The easiest way to install Akismet Library is via composer.
Create the following composer.json
file and run the php composer.phar install
command to install it.
{ "require": { "openclassrooms/akismet": "*" } }
<?php require 'vendor/autoload.php'; use OpenClassrooms\Akismet\Services\AkismetService; //do things
Basic Usage
The AkismetServiceImpl
class needs to set a client to communicate with Akismet Spam Protection service. This library provides a client based on GuzzleHttp\Client, though you can implement your own client. Then, you can set the client using the AkismetServiceImpl::setClient()
method.
The Models
Comment
This Library defines a "Comment" interface which must be passed as an argument into the different AkismetService methods.
use OpenClassrooms\Akismet\Models\Comment; $comment = new CommentImpl();
Comment Builder
This library provides a Builder to create the Comment:
use OpenClassrooms\Akismet\Models\CommentBuilder; $comment = $commentBuilder->create() ->withUserIp(CommentStub::USER_IP) ->withUserAgent(CommentStub::USER_AGENT) ->withReferrer(CommentStub::REFERRER) ->withPermalink(CommentStub::PERMALINK) ->withAuthorName(CommentStub::AUTHOR_NAME) ->withAuthorEmail(CommentStub::AUTHOR_EMAIL) ->withContent(CommentStub::CONTENT) ->build();
Service
Use OpenClassrooms\Akismet\Services\Impl\AkismetServiceImpl; $akismetService = new AkismetServiceImpl(); // commentCheck method needs only one parameter, which has to be the Comment object if ($akismetService->commentCheck($comment)) { // store the comment and mark it as spam (in case of a misdiagnosis). } else { // store the comment normally }
to submit misdiagnosed spam and ham, which improves the system for everybody.
$akismetService->submitSpam($comment);
And
$akismetService->submitHam($comment);
Beyond this Library
If you plan to use Akismet Library in a Symfony2 project, check out the AkismetBundle. The bundle provides an easy configuration option for this library.