Laravel Cloud is here! Zero-config managed infrastructure for Laravel apps. Deploy now.

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

Laravel Boost v1.8.10 Released With New AI Prompts and Livewire v4 Support image

Laravel Boost v1.8.10 Released With New AI Prompts and Livewire v4 Support

Read article
The Neuron AI Framework for PHP and Laravel image

The Neuron AI Framework for PHP and Laravel

Read article
Laravel Introduces Official AI Documentation image

Laravel Introduces Official AI Documentation

Read article
Laravel Gets a Claude Code Simplifier Plugin image

Laravel Gets a Claude Code Simplifier Plugin

Read article
Laravel Boost Update Adds Support for the New MCP Protocol image

Laravel Boost Update Adds Support for the New MCP Protocol

Read article
Laravel Altitude - Opinionated Claude Code agents and commands for TALL stack development image

Laravel Altitude - Opinionated Claude Code agents and commands for TALL stack development

Read article
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $3200/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Lucky Media logo

Lucky Media

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

Lucky Media