omidgfx / laravel-agent-detector
Laravel 对 matomo-org/device-detector 用户代理解析器的封装
Requires
- matomo/device-detector: ^6.2
Suggests
- illuminate/support: Required for laravel service providers
This package is auto-updated.
Last update: 2024-09-15 12:45:35 UTC
README
一个基于 Device Detector 的 PHP 桌面/移动用户代理解析器,用于 Laravel,可以解析任何用户代理并检测浏览器、操作系统、使用的设备(桌面、平板、手机、电视、汽车、游戏机等)、品牌和型号。
访问 http://devicedetector.net 查看此库能检测到什么的快速演示。
安装
使用 composer 安装
composer require karmendra/laravel-agent-detector
Laravel (可选)
在 config/app.php
中添加服务提供者
Karmendra\LaravelAgentDetector\AgentDetectorServiceProvider::class,
并在 config/app.php
中添加 AgentDetector 别名
'AgentDetector' => Karmendra\LaravelAgentDetector\Facades\AgentDetector::class,
基本用法
首先创建一个 AgentDetector
实例(或使用 AgentDetector
Facade)
use Karmendra\LaravelAgentDetector\AgentDetector; $user_agent = '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'; $ad = new AgentDetector($user_agent);
如果您想在 CLI 脚本等场景下动态设置不同的用户代理,可以使用 setUserAgent
$ad->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');
所有原始的 Device Detector 方法仍然可用
附加功能
设备类型
获取设备类型。(smartphone
, mobile
, tablet
, desktop
, bot
...)
$type = $ad->device();
设备品牌名称
获取设备制造商的品牌名称,如果是移动设备。(Apple
, Nexus
, Samsung
, ...)
$brand = $ad->deviceBrand();
设备型号
获取设备型号,如果是移动设备。 (Apple: iPhone
, Samsung: Galaxy S9
...)
$model = $ad->deviceModel();
平台/操作系统名称
获取操作系统。(Ubuntu
, Android
, Windows
, Mac
, iOS
, ...)
$platform = $ad->platform();
平台版本(OS版本)。
获取平台版本。 (Windows: 10
, Mac: 10.11
, Android: 9.0
, ...)
$platform_version = $ad->platformVersion();
浏览器名称
获取浏览器名称。 (Chrome
, IE
, Safari
, UC Browser
, ...)
$browser = $ad->browser();
浏览器版本
获取浏览器版本。 (Chrome: 56
, Safari: 9.0
, Firefox: 48
, ...)
$browser_version = $ad->browserVersion();
机器人检测
检查用户是否是机器人。 (true
或 false
)
$ad->isBot();
待办事项(欢迎 PR)
- 添加测试用例
- 添加获取机器人信息、启用/禁用机器人检测等附加功能
许可
Laravel Agent Detector 使用 The MIT License (MIT) 许可。