openclassrooms / akismet-bundle
Akismet Bundle
v3.1.0
2022-05-16 13:50 UTC
Requires
- php: >=7.4
- openclassrooms/akismet: ~2.0
- symfony/config: ~3.4 || ~4.0 || ~5.0
- symfony/dependency-injection: ~3.4 || ~4.0 || ~5.0
- symfony/http-kernel: ~3.4 || ~4.0 || ~5.0
Requires (Dev)
- phpunit/phpunit: ~7
- satooshi/php-coveralls: ~2.1
README
AkismetBundle 提供了 Akismet 库的集成。Akismet 库是一个 PHP5 库,它为您的应用程序提供 Akismet 垃圾邮件保护服务 功能。有关详细信息,请参阅 Akismet。
安装
可以使用 composer 安装此包
composer require openclassrooms/akismet-bundle
或者直接将包添加到 composer.json 文件中
{ "require": { "openclassrooms/akismet-bundle": "*" } }
安装包后,将包添加到 AppKernel.php 文件中
// in AppKernel::registerBundles() $bundles = array( // ... new OpenClassrooms\Bundle\AkismetBundle\OpenClassroomsAkismetBundle(), // ... );
配置
# app/config/config.yml openclassrooms_akismet: key: %akismet.key% blog: %akismet.blog%
使用方法
默认服务
$commentBuilder = $container->get('openclassrooms.akismet.models.comment_builder'); $akismet = $container->get('openclassrooms.akismet.services.default_akismet_service'); $comment = $commentBuilder->create() ... ->build(); if ($akismet->commentCheck($comment)) { // store the comment and mark it as spam (in case of a mis-diagnosis). } else { // store the comment normally } // and $akismet->submitSpam($comment); // and $akismet->submitHam($comment);
桥接服务
该 Bundle 集成了一个桥接服务,该服务可以从 Symfony2 requestStack 自动设置 UserIP、UserAgent 和 Referrer。
<service id="openclassrooms.akismet.services.akismet_service" class="OpenClassrooms\Bundle\AkismetBundle\Services\Impl\AkismetServiceImpl"> <call method="setAkismet"> <argument type="service" id="openclassrooms.akismet.services.default_akismet_service"/> </call> <call method="setRequestStack"> <argument type="service" id="request_stack"/> </call> </service>
您可以通过获取以下服务 ID 来使用它
$akismet = $container->get('openclassrooms.akismet.services.akismet_service');
而不是
$akismet = $container->get('openclassrooms.akismet.services.default_akismet_service');