PHP Laravel : How to get client browser/ Device?
First add the package to your composer:
{
"require": {
"hisorange/browser-detect": "2.*" // For laravel 5.* versions
"hisorange/browser-detect": "1.*" // For laravel 4.* versions
}
}
After the composer update/install add the service provider to your app.php:
'providers' => array(
// ...
'hisorange\BrowserDetect\Provider\BrowserDetectService',
// ...
)
Add the alias to the aliases in your app.php:
'aliases' => array(
// ...
'BrowserDetect' => 'hisorange\BrowserDetect\Facade\Parser',
)
You must use personal configurations, just publish the package's configuration files, (plugins.php also published with this)
php artisan vendor:publish
You can get result informations by simply call on the facade.
// You can always get the result object from the facade if you wish to operate with it.
BrowserDetect::detect(); // Will resolve and return with the 'browser.result' container.
// Calls are mirrored to the result object for easier use.
BrowserDetect::browserVersion(); // return '3.6' string.
// Supporting human readable formats.
BrowserDetect::browserName(); // return 'Firefox 3.6' string.
// Or can be objective.
BrowserDetect::browserFamily(); // return 'Firefox' string.
For details: https://github.com/hisorange/browser-detect
I ended using the faster, and simpler way:
$request->header('User-Agent');
Hope it helps someone!
For most of newest laravel versions, this method is working :
Route::get('/agent', function () {
return request()->userAgent();
});
Use Agent
which let you detect user browser and platform and also browser's/platform's version
https://medium.com/@panjeh/laravel-detector-mobile-browser-name-version-platform-device-robot-crawler-user-language-8499bee7607c
In the new version you can also detect the robots.