mimmi20 / browser-detector
Library to detect Browsers and Devices
9.0.4
2024-12-18 23:09 UTC
Requires
- php: ~8.3.0 || ~8.4.0 || ~8.5.0
- ext-json: *
- ext-mbstring: *
- laminas/laminas-diactoros: ^3.5.0
- mimmi20/browser-detector-version: ^10.0.0
- mimmi20/ios-build: ^4.0.0
- mimmi20/macos-build: ^4.0.0
- mimmi20/ua-browser-type: ^10.0.0
- mimmi20/ua-device-type: ^10.0.0
- mimmi20/ua-normalizer: ^7.0.0
- psr/http-message: ^2.0
- psr/log: ^3.0.2
- psr/simple-cache: ^3.0.0
Requires (Dev)
- ext-ctype: *
- ext-dom: *
- ext-intl: *
- ext-simplexml: *
- ext-tokenizer: *
- ext-xml: *
- ext-xmlwriter: *
- infection/infection: ^0.29.8
- mikey179/vfsstream: ^1.6.12
- mimmi20/coding-standard: ^6.0.1
- nikic/php-parser: ^5.3.1
- phpstan/extension-installer: ^1.4.3
- phpstan/phpstan: ^1.12.10
- phpstan/phpstan-deprecation-rules: ^1.2.1
- phpstan/phpstan-phpunit: ^1.4.0
- phpunit/phpunit: ^11.5.1
- rector/rector: ^1.2.10
- rector/type-perfect: ^1.0.0
- symfony/process: ^7.2.0
- symplify/phpstan-rules: ^13.0.1
- tomasvotruba/cognitive-complexity: ^0.2.3
- tomasvotruba/type-coverage: ^1.0.0
- tomasvotruba/unused-public: ^1.1.0
- dev-master
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.1.0
- 8.0.5
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 7.0.3
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.0.85
- 5.0.84
- 5.0.83
- 5.0.82
- 5.0.81
- 5.0.80
- 5.0.79
- 5.0.78
- 5.0.77
- 5.0.76
- 5.0.75
- 5.0.74
- 5.0.73
- 5.0.72
- 5.0.71
- 5.0.70
- 5.0.69
- 5.0.68
- 5.0.67
- 5.0.66
- 5.0.65
- 5.0.64
- 5.0.63
- 5.0.62
- 5.0.61
- 5.0.60
- 5.0.59
- 5.0.58
- 5.0.57
- 5.0.56
- 5.0.55
- 5.0.54
- 5.0.53
- 5.0.52
- 5.0.51
- 5.0.50
- 5.0.49
- 5.0.48
- 5.0.47
- 5.0.46
- 5.0.45
- 5.0.44
- 5.0.43
- 5.0.42
- 5.0.41
- 5.0.40
- 5.0.39
- 5.0.38
- 5.0.37
- 5.0.36
- 5.0.35
- 5.0.34
- 5.0.33
- 5.0.32
- 5.0.31
- 5.0.30
- 5.0.29
- 5.0.28
- 5.0.27
- 5.0.26
- 5.0.25
- 5.0.24
- 5.0.23
- 5.0.22
- 5.0.21
- 5.0.20
- 5.0.19
- 5.0.18
- 5.0.17
- 5.0.16
- 5.0.15
- 5.0.14
- 5.0.13
- 5.0.12
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.22
- 4.0.21
- 4.0.20
- 4.0.19
- 4.0.18
- 4.0.17
- 4.0.16
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.11
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.0
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.2.0-beta
- 0.1.0-alpha
- dev-updates
This package is auto-updated.
Last update: 2024-12-21 16:52:09 UTC
README
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