No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


SensioLabsInsight Build Status Coverage Status

This is a PHP5 library that provides Akismet Spam Protection service functionality in your application.


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": "*"
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


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()


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.




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.