Laravel Agent
本包自用,新增了微信识别。如有常规需求,建议移步到 jenssegers/agent, (*1)
, (*2)
A PHP desktop/mobile user agent parser with support for Laravel, based on Mobile Detect with desktop support and additional functionality., (*3)
, (*4)
Installation
Install using composer:, (*5)
composer require orzcc/laravel-agent
Laravel (optional)
Add the service provider in config/app.php
:, (*6)
Orzcc\Agent\AgentServiceProvider::class,
And add the Agent alias to config/app.php
:, (*7)
'Agent' => Orzcc\Agent\Facades\Agent::class,
Basic Usage
Start by creating an Agent
instance (or use the Agent
Facade if you are using Laravel):, (*8)
use Orzcc\Agent\Agent;
$agent = new Agent();
If you want to parse user agents other than the current request in CLI scripts for example, you can use the setUserAgent
and setHttpHeaders
methods:, (*9)
$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
$agent->setHttpHeaders($headers);
All of the original Mobile Detect methods are still available, check out some original examples at https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples, (*10)
Is?
Check for a certain property in the user agent., (*11)
$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');
$agent->is('WeChat');
$agent->is('QQ');
Magic is-method
Magic method that does the same as the previous is()
method:, (*12)
$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();
Mobile detection
Check for mobile device:, (*13)
$agent->isMobile();
$agent->isTablet();
Match user agent
Search the user agent with a regular expression:, (*14)
$agent->match('regexp');
Additional Functionality
Accept languages
Get the browser's accept languages. Example:, (*15)
$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']
Device name
Get the device name, if mobile. (iPhone, Nexus, AsusTablet, ...), (*16)
$device = $agent->device();
Operating system name
Get the operating system. (Ubuntu, Windows, OS X, ...), (*17)
$platform = $agent->platform();
Browser name
Get the browser name. (Chrome, IE, Safari, Firefox, ...), (*18)
$browser = $agent->browser();
Desktop detection
Check if the user is using a desktop device., (*19)
$agent->isDesktop();
This checks if a user is not a mobile device, tablet or robot., (*20)
Phone detection
Check if the user is using a phone device., (*21)
$agent->isPhone();
Robot detection
Check if the user is a robot. This uses jaybizzle/crawler-detect to do the actual robot detection., (*22)
$agent->isRobot();
Robot name
Get the robot name., (*23)
$robot = $agent->robot();
MobileDetect recently added a version
method that can get the version number for components. To get the browser or platform version you can use:, (*24)
$browser = $agent->browser();
$version = $agent->version($browser);
$platform = $agent->platform();
$version = $agent->version($platform);
Note, the version method is still in beta, so it might not return the correct result., (*25)
License
Laravel User Agent is licensed under The MIT License (MIT)., (*26)