Agent

jenssegers/agent image

Agent stats

Downloads
36.3M
Stars
4,286
Open Issues
76
Forks
437

View on GitHub →

Desktop/mobile user agent parser with support for Laravel, based on Mobiledetect

Agent: Laravel User Agent Parser

Agent is a powerful PHP package for parsing user agent strings, designed to work seamlessly with Laravel. It is built on the well-regarded Mobile Detect library, enhanced with desktop support and additional functionalities for a more comprehensive user agent analysis.

Key Features

  • User Agent Parsing: Efficiently parse user agent strings to determine types of devices, browsers, and operating systems.
  • Mobile Detection: Detect various mobile devices including phones and tablets.
  • Desktop Detection: Identify desktop users, distinguishing them from mobile or tablet users.
  • Browser and Platform Analysis: Determine browser types and operating systems, including versions (in beta).
  • Robot Detection: Identify and differentiate robots from human users.
  • Language Extraction: Extract browser's accept languages from the user agent.
  • Device, OS, and Browser Information: Get detailed info about the device, operating system, and browser names.

Installation

Install the package via composer:

composer require jenssegers/agent

Laravel Integration (Optional)

Add the service provider and alias to your config/app.php:

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

Usage

Create an Agent instance or use the Laravel facade:

use Jenssegers\Agent\Agent;
$agent = new Agent();

Basic Methods

  • Check properties: $agent->is('iPhone');
  • Use magic methods: $agent->isAndroidOS();
  • Regular expression matching: $agent->match('regexp');
  • Get device, platform, or browser details: $agent->device(); $agent->platform(); $agent->browser();

Advanced Features

  • Get accept languages: $languages = $agent->languages();
  • Check if the device is a desktop: $agent->isDesktop();
  • Determine if the user agent belongs to a robot: $robot = $agent->robot();

Additional Information

Agent leverages the Mobile Detect library and is compatible with its methods. It also supports robot detection using the jaybizzle/crawler-detect package. For detailed examples and method descriptions, refer to the Mobile Detect documentation.

The package is licensed under the MIT License and contributors can report security vulnerabilities through the provided security contact steps.

With its comprehensive set of features, Agent is an essential tool for developers needing detailed user agent analysis in their Laravel applications.

jenssegers photo

Engineering Manager & Solution Architect at OTA Insight

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Jenssegers Agent Related Articles

Pinion UI: Restyle an Entire Laravel App by Changing Two HTML Attributes image

Pinion UI: Restyle an Entire Laravel App by Changing Two HTML Attributes

Read article
Building and Deploying a Laravel App With Claude Code on Zerops image

Building and Deploying a Laravel App With Claude Code on Zerops

Read article
The first hands-on AI Developer Certification image

The first hands-on AI Developer Certification

Read article
Scaffold Packages with the `laravel package` Command in Laravel Installer v5.31.0 image

Scaffold Packages with the `laravel package` Command in Laravel Installer v5.31.0

Read article
Find the Security Vulnerabilities in Your Laravel App with Sensagraph image

Find the Security Vulnerabilities in Your Laravel App with Sensagraph

Read article
Intercept: Middleware Guardrails for Laravel AI Agents image

Intercept: Middleware Guardrails for Laravel AI Agents

Read article
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup
Typesense Search logo

Typesense Search

Typesense is an open source, blazing-fast search engine, optimized for helping you build delightful search experiences for your sites and apps. Natively integrated with Laravel Scout.

Typesense Search
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Tighten logo

Tighten

We help companies turn great ideas into amazing apps, products, and services.

Tighten