elao / browser-detector-bundle
Elao Browser Detector Bundle
Installs: 2 325
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 25
Forks: 5
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.3
- elao/browser-detector: 1.1.*
- symfony/framework-bundle: ~2.3
This package is not auto-updated.
Last update: 2022-02-01 12:25:44 UTC
README
Deprecated : please use https://github.com/piwik/device-detector instead.
Changelog
- 1.1.0
- BrowserCap and Browser ar now in a separate ElaoBrowserDetector component
- Rename some parameters
- Fix composer
Installation:
Require the bundle via composer:
"require": {
"elao/browser-detector-bundle": "1.1.*"
}
Add the bundle to your AppKernel.php:
new Elao\Bundle\BrowserDetectorBundle\ElaoBrowserDetectorBundle()
Configuration:
Register the browsers that are not and/or partially supported by your application:
elao_browser_detector:
browsers:
partially_compatible:
"Internet Explorer": "<9"
"Opera": ~
incompatible:
"IE": "<=7"
Accepted version format:
- none : any version number, ex: "Firefox": ~ (any Firefox version will match)
- 'n' : exact version number, ex: "Firefox": '3.6' (only Firefox 3.6 will match)
- '>n' : strictly later, ex: "Firefox": '>3.6' (Firefox 3.6 will not match, Firefox 3.7 will)
- '<n' : strictly earlier, ex: "Firefox": '<3.6' (Firefox 3.6 will not match, Firefox 3.5 will)
- '>=n' : equal or later version, ex: "Firefox": '>=3.6' (Firefox 3.6 and 3.7 will match)
- '<=n' : equal or earlier version, ex: "Firefox": '<=3.6' (Firefox 3.6 and 3.5 will match)
How it works:
- The bundle listen to the kernel.request event.
- It gets the user-agent http header directive from the request on each master request.
- It use the php get_browser function (based on the browscap.ini file) to detect wich browser is used.
- It instantiate an Elao\BrowserDetector\Browser object that will resolve compatibility of the current browser based your configuration.
Usage:
The BrowserDetector service
Get the BrowserDetector service or have it injected in your service: elao.browser_detector
$browserDetector = $container->get('elao_browser_detector');
// or
<argument type="service" id="elao_browser_detector" />
You're now able to get some compatibility information from the BrowserDetector service:
// Compatibility issers :
$browserDetector->isCompatible();
$browserDetector->isPartiallyCompatible();
$browserDetector->isIncompatible();
Accessing the current Browser instance
If needed, you can work with the Browser object that provide a various set of helpers methods:
// Get the current Browser instance:
$browser = $browserDetector->getBrowser();
// Get the Name of the browser, ex: 'Firefox'
$browser->getName();
// Get the Version of the browser, ex: '22.0'
$browser->getVersion();
// Get the platform of the browser, ex: 'MacOsX'
$browser->getPlatform();
// Compatibility issers:
is(string $name, int $version = null)
isPlatform(string $platform)
isExactly(int $version)
isLaterThan(int $version)
isEqualOrLaterThan(int $version)
isEarlierThan(int $version)
isEqualOrEarlierThan(int $version)