flamecore / user-agent
Simple browser detection for PHP
Fund package maintenance!
Liberapay
Open Collective
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 4.5.*
- scrutinizer/ocular: ~1.1
This package is auto-updated.
Last update: 2024-12-05 02:16:02 UTC
README
This library provides simple browser detection for PHP. It uses a simple and fast algorithm to recognize major browsers.
The UserAgent package was developed for our spam-protection system Gatekeeper.
Why you should use it
PHP provides a native function to detect the user browser: get_browser()
. This function requires
the browscap.ini
file which is 300KB+ in size. Loading and processing this file impacts the script performance. And sometimes,
the production server just doesn't provide browscap.ini
.
Although get_browser()
surely provides excellent detection results, in most cases a much simpler method can be just as effective.
The FlameCore UserAgent library has the advantage of being compact and easy to extend.
Usage
To make use of the API, include the vendor autoloader and use the classes:
namespace Acme\MyApplication; use FlameCore\UserAgent\UserAgent; require 'vendor/autoload.php'; // Create a user agent object $userAgent = UserAgent::createFromGlobal();
Then the parsed values can be retrieved using the getter methods:
$userAgent->getBrowserName(); // firefox $userAgent->getBrowserVersion(); // 3.6 $userAgent->getBrowserEngine(); // gecko $userAgent->getOperatingSystem(); // linux
When you create a UserAgent
object, the current user agent string is used. You can specify another user agent string:
// Use another User Agent string $userAgent = UserAgent::create('msnbot/2.0b (+http://search.msn.com/msnbot.htm)'); $userAgent->getBrowserName(); // msnbot // Use current User Agent string $userAgent = UserAgent::create($_SERVER['HTTP_USER_AGENT']); // ... which is equivalent to: $userAgent = UserAgent::createFromGlobal();
Installation
Install via Composer
Create a file called composer.json
in your project directory and put the following into it:
{
"require": {
"flamecore/user-agent": "dev-master"
}
}
Install Composer if you don't already have it present on your system:
$ curl -sS https://getcomposer.org/installer | php
Use Composer to download the vendor libraries and generate the vendor/autoload.php file:
$ php composer.phar install
Requirements
- You must have at least PHP version 5.4 installed on your system.
Contributors
If you want to contribute, please see the CONTRIBUTING file first.
Thanks to the contributors:
- Christian Neff (secondtruth)