get-browser
Get a browser's information., (*1)
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!, (*2)
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., (*3)
This library adds some simple validation and provides an object-oriented approach to accessing the browser's information., (*4)
License
MIT, (*5)
Author
Jack Clayton, (*6)
Version
2.0.1, December 10, 2016
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
0.1.0, July 31, 2016