2017 © Pedro Peláez
 

library browser-detector

Library to detect Browsers and Devices

image

mimmi20/browser-detector

Library to detect Browsers and Devices

  • Monday, July 30, 2018
  • by mimmi20
  • Repository
  • 4 Watchers
  • 12 Stars
  • 6,274 Installations
  • PHP
  • 3 Dependents
  • 1 Suggesters
  • 2 Forks
  • 0 Open issues
  • 57 Versions
  • 8 % Grown

The README.md

BrowserDetector

Latest Stable Version Latest Unstable Version License, (*1)

Code Status

codecov Test Coverage Average time to resolve an issue Percentage of issues still open Mutation testing badge Maintainability, (*2)

Requirements

This library requires PHP 8.1+. Also a PSR-3 compatible logger and a PSR-16 compatible cache are required., (*3)

Installation

Run the command below to install via Composer, (*4)

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., (*5)

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, (*6)

[
    '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, (*7)

The Versions

25/01 2015