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

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
Ship AI with Laravel: Give Your AI Agent Live Web Search image

Ship AI with Laravel: Give Your AI Agent Live Web Search

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
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
Tinkerwell logo

Tinkerwell

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

Tinkerwell
LoadForge logo

LoadForge

Scalable load testing for web apps & APIs. Simulate real-world traffic and identify breaking points and performance limits with powerful, scalable load tests designed for Laravel.

LoadForge
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
Tighten logo

Tighten

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

Tighten