基于 Mobiledetect 的 Laravel 桌面/移动用户代理解析器
jenssegers/agent 统计
- 下载次数
- 36.3M
- 星标
- 4,286
- 开放问题
- 76
- 分支
- 437
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 脚本中解析除当前请求之外的用户代理,你可以使用 setUserAgent
和 setHttpHeaders
方法
$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) 许可。
安全联系信息
要报告安全漏洞,请遵循 这些步骤。