This library requires PHP 8.3+. Also a PSR-3 compatible logger and a PSR-16 compatible cache are required.
Run the command below to install via Composer
composer require mimmi20/browser-detector$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.
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector        = $detectorFactory();
$result = $detector->getBrowser($_SERVER);$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector        = $detectorFactory();
$result = $detector->getBrowser($the_user_agent);The getBrowser function returns an array with this structure
[
    'headers' => [],
    'device' => [
        'architecture' => null,
        'deviceName' => null,
        'marketingName' => null,
        'manufacturer' => 'unknown',
        'brand' => 'unknown',
        'dualOrientation' => null,
        'simCount' => null,
        'display' => [
            'width' => null,
            'height' => null,
            'touch' => null,
            'size' => null,
        ],
        'type' => 'unknown',
        'ismobile' => null,
        'istv' => null,
        'bits' => null,
    ],
    'os' => [
        'name' => null,
        'marketingName' => null,
        'version' => null,
        'manufacturer' => 'unknown',
    ],
    'client' => [
        'name' => null,
        'modus' => null,
        'version' => null,
        'manufacturer' => 'unknown',
        'type' => 'unknown',
        'isbot' => null,
    ],
    'engine' => [
        'name' => null,
        'version' => null,
        'manufacturer' => 'unknown',
    ],
]Please report your issues and ask for new features on the GitHub Issue Tracker at https://github.com/mimmi20/BrowserDetector/issues