A PHP desktop/mobile user agent parser for Laravel, based on Device Detector that will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model.
Goto http://devicedetector.net for a quick demo of what this library can detect.
Install using composer:
composer require karmendra/laravel-agent-detector
Add the service provider in config/app.php
:
Karmendra\LaravelAgentDetector\AgentDetectorServiceProvider::class,
And add the AgentDetector alias to config/app.php
:
'AgentDetector' => Karmendra\LaravelAgentDetector\Facades\AgentDetector::class,
Start by creating an AgentDetector
instance (or use the AgentDetector
Facade):
use Karmendra\LaravelAgentDetector\AgentDetector;
$user_agent = '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';
$ad = new AgentDetector($user_agent);
If you want set different user agents on the fly in CLI scripts for example, you can use the setUserAgent
$ad->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');
All of the original Device Detector methods are still available
Get the device type. (smartphone
, mobile
, tablet
, desktop
, bot
...)
$type = $ad->device();
Get the device manufactures brand name, if mobile. (Apple
, Nexus
, Samsung
, ...)
$brand = $ad->deviceBrand();
Get the device model, if mobile. (Apple: iPhone
, Samsung: Galaxy S9
...)
$model = $ad->deviceModel();
Get the operating system. (Ubuntu
, Android
, Windows
, Mac
, iOS
, ...)
$platform = $ad->platform();
Get the platform version. (Windows: 10
, Mac: 10.11
, Android: 9.0
, ...)
$platform_version = $ad->platformVersion();
Get the browser name. (Chrome
, IE
, Safari
, UC Browser
, ...)
$browser = $ad->browser();
Get the browser name. (Chrome: 56
, Safari: 9.0
, Firefox: 48
, ...)
$browser_version = $ad->browserVersion();
Check if the user is a robot. (true
or false
)
$ad->isBot();
- Adding test cases
- Adding additional functions for getting robot info, enable disable robot detection etc.
Laravel Agent Detector is licensed under The MIT License (MIT).