Skip to content

A Symfony bundle for the Crawler-Detect library (detects bots/crawlers/spiders via the user agent)

License

Notifications You must be signed in to change notification settings

nicolasmure/CrawlerDetectBundle

Folders and files

NameName
Last commit message
Last commit date
Nov 24, 2016
Nov 23, 2016
Dec 2, 2017
Dec 2, 2017
Nov 23, 2016
Dec 2, 2017
Nov 23, 2016
Nov 23, 2016
Dec 2, 2017
Dec 2, 2017
Dec 2, 2017

Repository files navigation

CrawlerDetectBundle

Build Status Coverage Status

A Symfony bundle for the Crawler-Detect library (detects bots/crawlers/spiders via the user agent).

Table of contents

Introduction

This Bundle integrates the Crawler-Detect library into Symfony. It is recommended to read the lib's documentation before continuing here.

The aim of this bundle is to expose the CrawlerDetect class as a service (crawler_detect) to make it easier to use with Symfony (dependency injection, usable from a controller, etc...).

Installation

Download the bundle using composer :

$ composer require nmure/crawler-detect-bundle "^2.0.0"

For Symfony < 4.0, run :

$ composer require nmure/crawler-detect-bundle "^1.0.0"

then enable the bundle in your AppKernel :

// app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Nmure\CrawlerDetectBundle\CrawlerDetectBundle(),
            // ...
        );
    }
}

Usage

The crawler_detect service is initialized with the data from the Symfony's master request.

To use this service from a controller :

public function indexAction()
{
    if ($this->get('crawler_detect')->isCrawler()) {
        // this request is from a crawler :)
    }

    // you can also specify an user agent if you don't want
    // to use the one of the master request or if the app
    // is accessed by the CLI :
    $ua = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)';
    if ($this->get('crawler_detect')->isCrawler($ua)) {
        // this user agent belongs to a crawler :)
    }
}

You can also inject this service as a dependency using the crawler_detect service id.

Testing

$ docker run --rm -v `pwd`:/app phpunit/phpunit -c /app

About

A Symfony bundle for the Crawler-Detect library (detects bots/crawlers/spiders via the user agent)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages