All Projects → jenssegers → Agent

jenssegers / Agent

Licence: mit
👮 A PHP desktop/mobile user agent parser with support for Laravel, based on Mobiledetect

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Agent

Browser.php
A PHP Class to detect a user's Browser. This encapsulation provides a breakdown of the browser and the version of the browser using the browser's user-agent string. This is not a guaranteed solution but provides an overall accurate way to detect what browser a user is using.
Stars: ✭ 546 (-85.97%)
Mutual labels:  user-agent, browser
Parser Javascript
Browser sniffing gone too far — A useragent parser library for JavaScript
Stars: ✭ 66 (-98.3%)
Mutual labels:  user-agent, browser
Uxp
This is a GitHub mirror of the Unified XUL Platform. The main repository can be found at https://repo.palemoon.org/MoonchildProductions/UXP/
Stars: ✭ 363 (-90.67%)
Mutual labels:  platform, browser
Device Detector Js
A precise user agent parser and device detector written in TypeScript
Stars: ✭ 193 (-95.04%)
Mutual labels:  user-agent, browser
Bugz
🐛 Composable User Agent Detection using Ramda
Stars: ✭ 15 (-99.61%)
Mutual labels:  user-agent, browser
Platform.js
A platform detection library.
Stars: ✭ 2,937 (-24.52%)
Mutual labels:  platform, user-agent
Easy handeye
Automated, hardware-independent Hand-Eye Calibration
Stars: ✭ 355 (-90.88%)
Mutual labels:  robot
Infinit
The Infinit policy-based software-defined storage platform.
Stars: ✭ 363 (-90.67%)
Mutual labels:  platform
Simple Get
Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines
Stars: ✭ 357 (-90.82%)
Mutual labels:  browser
Browscap
📃 The main project repository
Stars: ✭ 354 (-90.9%)
Mutual labels:  user-agent
Hexapod
Blazing fast hexapod robot simulator for the web.
Stars: ✭ 370 (-90.49%)
Mutual labels:  robot
H1ve
An Easy / Quick / Cheap Integrated Platform
Stars: ✭ 368 (-90.54%)
Mutual labels:  platform
Handeye calib camodocal
Easy to use and accurate hand eye calibration which has been working reliably for years (2016-present) with kinect, kinectv2, rgbd cameras, optical trackers, and several robots including the ur5 and kuka iiwa.
Stars: ✭ 364 (-90.65%)
Mutual labels:  robot
Android Smartwebview
A webview integrated w/ native features to help create most advanced hybrid applications.
Stars: ✭ 357 (-90.82%)
Mutual labels:  user-agent
Open Browser.vim
Open URI with your favorite browser from your most favorite editor
Stars: ✭ 364 (-90.65%)
Mutual labels:  browser
Yarp
YARP - Yet Another Robot Platform
Stars: ✭ 358 (-90.8%)
Mutual labels:  robot
Anahita
Anahita is a platform and framework for developing open science and knowledge sharing applications on a social networking foundation.
Stars: ✭ 369 (-90.52%)
Mutual labels:  platform
Xiaofendui
薅羊毛小分队(第一时间尽知羊毛)- 微信机器人即时推送
Stars: ✭ 356 (-90.85%)
Mutual labels:  robot
Lulumi Browser
Lulumi-browser is a lightweight browser coded with Vue.js 2 and Electron.
Stars: ✭ 367 (-90.57%)
Mutual labels:  browser
Jquery.scrollto
Lightweight, cross-browser and highly customizable animated scrolling with jQuery
Stars: ✭ 3,609 (-7.25%)
Mutual labels:  browser

Agent

Latest Stable Version Total Downloads Build Status Coverage Status Donate

A PHP desktop/mobile user agent parser with support for Laravel, based on Mobile Detect with desktop support and additional functionality.

Installation

Install using composer:

composer require jenssegers/agent

Laravel (optional)

Add the service provider in config/app.php:

Jenssegers\Agent\AgentServiceProvider::class,

And add the Agent alias to config/app.php:

'Agent' => Jenssegers\Agent\Facades\Agent::class,

Basic Usage

Start by creating an Agent instance (or use the Agent Facade if you are using Laravel):

use Jenssegers\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:

$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

Is?

Check for a certain property in the user agent.

$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');

Magic is-method

Magic method that does the same as the previous is() method:

$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();

Mobile detection

Check for mobile device:

$agent->isMobile();
$agent->isTablet();

Match user agent

Search the user agent with a regular expression:

$agent->match('regexp');

Additional Functionality

Accept languages

Get the browser's accept languages. Example:

$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']

Device name

Get the device name, if mobile. (iPhone, Nexus, AsusTablet, ...)

$device = $agent->device();

Operating system name

Get the operating system. (Ubuntu, Windows, OS X, ...)

$platform = $agent->platform();

Browser name

Get the browser name. (Chrome, IE, Safari, Firefox, ...)

$browser = $agent->browser();

Desktop detection

Check if the user is using a desktop device.

$agent->isDesktop();

This checks if a user is not a mobile device, tablet or robot.

Phone detection

Check if the user is using a phone device.

$agent->isPhone();

Robot detection

Check if the user is a robot. This uses jaybizzle/crawler-detect to do the actual robot detection.

$agent->isRobot();

Robot name

Get the robot name.

$robot = $agent->robot();

Browser/platform version

MobileDetect recently added a version method that can get the version number for components. To get the browser or platform version you can use:

$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.

License

Laravel User Agent is licensed under The MIT License (MIT).

Security contact information

To report a security vulnerability, follow these steps.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].