基于 Mobiledetect 的 Laravel 桌面/移动用户代理解析器

jenssegers/agent image

jenssegers/agent 统计

下载次数
36.3M
星标
4,286
开放问题
76
分支
437

在 GitHub 上查看 →

Jenssegers Agent 自述文件


Agent

一个 PHP 桌面/移动用户代理解析器,支持 Laravel,基于 Mobile Detect,并提供桌面支持和额外功能。

安装

使用 composer 安装

composer require jenssegers/agent

Laravel(可选)

config/app.php 中添加服务提供者

Jenssegers\Agent\AgentServiceProvider::class,

并将 Agent 别名添加到 config/app.php

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

基本用法

首先创建一个 Agent 实例(或者如果你使用 Laravel,则使用 Agent Facade)

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

例如,如果你想在 CLI 脚本中解析除当前请求之外的用户代理,你可以使用 setUserAgentsetHttpHeaders 方法

$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);

所有原始的 Mobile Detect 方法仍然可用,查看一些原始示例 https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples

是否?

检查用户代理中的某个属性。

$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');

Magic is-方法

魔术方法,与之前的 is() 方法相同

$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();

移动设备检测

检查移动设备

$agent->isMobile();
$agent->isTablet();

匹配用户代理

使用正则表达式搜索用户代理

$agent->match('regexp');

附加功能

接受语言

获取浏览器的接受语言。示例

$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']

设备名称

获取设备名称(如果为移动设备)。(iPhone、Nexus、AsusTablet,...)

$device = $agent->device();

操作系统名称

获取操作系统。(Ubuntu、Windows、OS X,...)

$platform = $agent->platform();

浏览器名称

获取浏览器名称。(Chrome、IE、Safari、Firefox,...)

$browser = $agent->browser();

桌面检测

检查用户是否使用桌面设备。

$agent->isDesktop();

这将检查用户是否不是移动设备、平板电脑或机器人。

电话检测

检查用户是否使用手机设备。

$agent->isPhone();

机器人检测

检查用户是否为机器人。这将使用 jaybizzle/crawler-detect 进行实际的机器人检测。

$agent->isRobot();

机器人名称

获取机器人名称。

$robot = $agent->robot();

浏览器/平台版本

MobileDetect 最近添加了一个 version 方法,可以获取组件的版本号。要获取浏览器或平台版本,你可以使用

$browser = $agent->browser();
$version = $agent->version($browser);
 
$platform = $agent->platform();
$version = $agent->version($platform);

注意,version 方法仍处于 beta 版,因此可能无法返回正确的结果。

许可证

Laravel User Agent 采用 MIT 许可证 (MIT) 许可。

安全联系信息

要报告安全漏洞,请遵循 这些步骤

jenssegers photo

OTA Insight 工程经理和解决方案架构师

Cube

Laravel 新闻快报

加入 40,000 多名其他开发人员,绝不错过新的技巧、教程等。


Jenssegers Agent 相关文章

PHP Desktop and Mobile User Agent Parser image

PHP 桌面和移动用户代理解析器

阅读文章
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit:Laravel SaaS 启动套件

SaaSykit 是一个 Laravel SaaS 启动套件,包含运行现代 SaaS 所需的所有功能。支付、漂亮的结账、管理面板、用户仪表板、身份验证、即用型组件、统计信息、博客、文档等等。

SaaSykit:Laravel SaaS 启动套件
Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Bacancy logo

Bacancy

以每月 2500 美元的价格为您的项目配备一名经验丰富的 Laravel 开发人员,拥有 4-6 年的经验。获得 160 小时的专用专业知识和 15 天的无风险试用。立即安排电话!

Bacancy
Shift logo

Shift

运行旧版 Laravel?即时、自动化的 Laravel 升级和代码现代化,以保持您的应用程序新鲜。

Shift
Lucky Media logo

Lucky Media

立即获得幸运 - Laravel 开发的理想选择,拥有十多年的经验!

Lucky Media