yzalis / ua-parser
The missing UAParser PHP library.
Installs: 133 998
Dependents: 0
Suggesters: 0
Security: 0
Stars: 50
Watchers: 9
Forks: 24
Open Issues: 8
pkg:composer/yzalis/ua-parser
Requires
- php: >=5.3.0
- doctrine/inflector: ~1.0
- symfony/yaml: ~2.1|~3.2
Requires (Dev)
- phpunit/phpunit: ~3.7
This package is not auto-updated.
Last update: 2021-02-12 12:04:01 UTC
README
UAParser is a library which helps you to parse user agents and detect browser, operating system, device and more.
Basic Usage
<?php // create a new UAParser instance $uaParser = new \UAParser\UAParser(); // ...or optionally load a custom regexes.yml file of your choice // $uaParser = new \UAParser\UAParser(__DIR__.'/../../custom_regexes.yml'); // parse a user agent string an get the result $result = $uaParser->parse('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20130406 Firefox/23.0.1');
Results
Global Result API
$result->getBrowser()will return aUAParser\Result\BrowserResultobject$result->getOperatingSystem()will return aUAParser\Result\OperatingSystemResultobject$result->getDevice()will return aUAParser\Result\DeviceResultobject$result->getRenderingEngine()will return aUAParser\Result\RenderingEngineResultobject$result->getEmailClient()will return aUAParser\Result\EmailClientResultobject
Browser
$result->getBrowser()->getFamily()will return a string likeFirefox$result->getBrowser()->getMajor()will return an integer like23$result->getBrowser()->getMinor()will return an integer like0$result->getBrowser()->getPatch()will return an integer like1$result->getBrowser()->getVersionString()will return a string like23.0.1
Operating System
$result->getOperatingSystem()->getFamily()will return a string likeMac OS$result->getOperatingSystem()->getMajor()will return a string like10$result->getOperatingSystem()->getMinor()will return a string like8$result->getOperatingSystem()->getPatch()will return a string like4
Device
$result->getDevice()->getConstructor()will return a string likeApple$result->getDevice()->getModel()will return a string likeiPhone$result->getDevice()->getType()will return a string likemobile$result->getDevice()->isMobile()will return a boolean liketrue$result->getDevice()->isTablet()will return a boolean likefalse$result->getDevice()->isDesktop()will return a boolean likefalse$result->getDevice()->is('mobile')will return a boolean likefalse$result->getDevice()->is('tablet')will return a boolean likefalse$result->getDevice()->is('desktop')will return a boolean likefalse
EmailClient
$result->getEmailClient()->getFamily()will return a string likeThunderbird$result->getEmailClient()->getMajor()will return a string like3$result->getEmailClient()->getMinor()will return a string like1$result->getEmailClient()->getPatch()will return a string like2$result->getEmailClient()->getType()will return a string likedesktop$result->getEmailClient()->isDesktop()will return a boolean liketrue$result->getEmailClient()->isWebmail()will return a boolean likefalse$result->getEmailClient()->is('desktop')will return a boolean liketrue$result->getEmailClient()->is('webmail')will return a boolean likefalse
Rendering Engine
$result->getRenderingEngine()->getFamily()will return a string likeTrident$result->getRenderingEngine()->getVersion()will return a string like4.0
Unit Tests
To run unit tests, you'll need cURL and a set of dependencies you can install using Composer:
curl -sS https://getcomposer.org/installer | php
php composer.phar install
Once installed, just launch the following command:
./vendor/bin/phpunit
You're done.
Credits
- Benjamin Laugueux benjamin@yzalis.com
- All contributors
Thanks for providing a huge amount of data to run tests:
License
UAParser is released under the MIT License. See the bundled LICENSE file for details.