定制 dimtrovich/user-agent 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dimtrovich/user-agent

最新稳定版本:1.0.2

Composer 安装命令:

composer require dimtrovich/user-agent

包简介

A PHP desktop/mobile user agent parser with bot detection, based on Mobiledetect and CrawlerDetect.

README 文档

README

GitHub Actions Workflow Status Packagist Version Packagist Downloads

A PHP desktop/mobile user agent parser with bot detection, based on Mobile Detect and CrawlerDetect with desktop support and additional functionality.

Note

This is a modified version of jenssegers/agent to support PHP 8.0 up and MobileDetect 4.x.

Installation

Install using composer:

composer require dimtrovich/user-agent

Laravel (optional)

Add the service provider in config/app.php:

Dimtrovich\UserAgent\Extensions\Laravel\AgentServiceProvider::class,

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

'UserAgent' => Dimtrovich\UserAgent\Extensions\Laravel\Facades\Agent::class,

BlitzPHP (optional)

Add the service provider in app/Config/app.php:

Dimtrovich\UserAgent\Extensions\BlitzPHP\AgentProvider::class,

And add the UserAgent alias to app/Config/app.php:

'UserAgent' => Dimtrovich\UserAgent\Extensions\BlitzPHP\Facades\Agent::class,

Basic Usage

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

use Dimtrovich\UserAgent\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('macOS');

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

This is licensed under The MIT License (MIT).

Security contact information

To report a security vulnerability, follow these steps.

统计信息

  • 总下载量: 129
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 522
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固