jstewmc/get-browser

Get browser information

v2.0.1 2016-12-10 19:11 UTC

This package is auto-updated.

Last update: 2024-11-29 05:09:29 UTC


README

Get a browser's information.

namespace Jstewmc\GetBrowser;

// define the user-agent
$userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) '
    . 'AppleWebKit/601.6.17 (KHTML, like Gecko) Version/9.1.1 '
    . 'Safari/601.6.17';

// instantiate the service
$service = new GetBrowser();

// get the browser
$browser = $service($userAgent);

// return the request's browser information
$browser->getName();      // returns "Safari"
$browser->getVersion();   // returns "9.1.1"
$browser->getPlatform();  // returns "Macintosh"

In the real world, you'd probably get the user-agent string from the HTTP request, and you'd probably define the service in your Dependency Injection (DI) container. But, you get the idea!

This library uses the lightweight donatj/phpuseragentparser library. Unlike PHP's native get_browser() function which requires a separate browscap.ini file, the Php User Agent library uses regex to determine a browser's name, version, and platform.

This library adds some simple validation and provides an object-oriented approach to accessing the browser's information.

License

MIT

Author

Jack Clayton

Version

2.0.1, December 10, 2016

  • Update README (fixes #1)

2.0.0, November, 24, 2016

  • Rename Get to GetBrowser.
  • Refactor GetBrowser. I removed the dependency on the Request service. Instead, the browser's User-Agent header should be passed to the service's __invoke() method.
  • Delete Request. It's no longer needed.
  • Delete Browser. I moved the Browser object to a separate repository, jstewmc/browser.

1.0.0, August 16, 2016

  • Major release

0.1.0, July 31, 2016

  • Initial release