Awesome
BrowserDetector
Code Status
Requirements
This library requires PHP 8.1+. Also a PSR-3 compatible logger and a PSR-16 compatible cache are required.
Installation
Run the command below to install via Composer
composer require mimmi20/browser-detector
Usage
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector = $detectorFactory();
// get the result
$result = $detector->getBrowser($request);
The request parameter may be a string, an array or a PSR-7 compatible message.
Usage Examples
Taking the user agent from the global $_SERVER variable
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector = $detectorFactory();
$result = $detector->getBrowser($_SERVER);
Using a sample useragent
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector = $detectorFactory();
$result = $detector->getBrowser($the_user_agent);
The result
The getBrowser
function returns an array with this structure
[
'headers' => [],
'device' => [
'architecture' => null,
'deviceName' => null,
'marketingName' => null,
'manufacturer' => null,
'brand' => null,
'dualOrientation' => null,
'simCount' => null,
'display' => [
'width' => null,
'height' => null,
'touch' => null,
'size' => null,
],
'type' => null,
'ismobile' => null,
'istv' => null,
'bits' => null,
],
'os' => [
'name' => null,
'marketingName' => null,
'version' => null,
'manufacturer' => null,
],
'client' => [
'name' => null,
'modus' => null,
'version' => null,
'manufacturer' => null,
'type' => null,
'isbot' => null,
],
'engine' => [
'name' => null,
'version' => null,
'manufacturer' => null,
],
]
Issues and feature requests
Please report your issues and ask for new features on the GitHub Issue Tracker at https://github.com/mimmi20/BrowserDetector/issues