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

Intercept: Middleware Guardrails for Laravel AI Agents image

Intercept: Middleware Guardrails for Laravel AI Agents

Read article
Ship AI with Laravel: I Tricked My Own AI Into Leaking Everything image

Ship AI with Laravel: I Tricked My Own AI Into Leaking Everything

Read article
Laravel MPP: Charge AI Agents for API Access with 402 Payment Required image

Laravel MPP: Charge AI Agents for API Access with 402 Payment Required

Read article
Ship AI with Laravel: Test Your AI System with Zero API Calls image

Ship AI with Laravel: Test Your AI System with Zero API Calls

Read article
Ship AI with Laravel: Failover, Queues, and Middleware for AI Agents image

Ship AI with Laravel: Failover, Queues, and Middleware for AI Agents

Read article
Monitor Laravel Queues, Commands, and Schedulers on Any Driver with Vigilance image

Monitor Laravel Queues, Commands, and Schedulers on Any Driver with Vigilance

Read article
DreamzTech logo

DreamzTech

Hire 6-10+ Yrs. experienced skilled Laravel Developers from DreamzTech. We ensure NDA protected, 100% quality delivery. Contact Us & Discuss Your Need.

DreamzTech
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic
Securing Laravel logo

Securing Laravel

The essential security resource for Laravel devs, covering everything you need to keep your apps secure. Sign up to receive weekly security tips and monthly in depth articles, diving deep into security concepts you need to know!

Securing Laravel
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
PhpStorm logo

PhpStorm

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

PhpStorm