spinzar / laravel-agent
支持Laravel的桌面/移动用户代理解析器,基于MobileDetect
dev-main
2024-06-02 16:41 UTC
Requires
- php: >=8.1
- jaybizzle/crawler-detect: ^1.2
- mobiledetect/mobiledetectlib: ^2.8
Requires (Dev)
- php-coveralls/php-coveralls: ^2.5
- phpunit/phpunit: ^9.0
Suggests
- illuminate/support: Required for Laravel service providers
This package is auto-updated.
Last update: 2024-10-02 17:21:44 UTC
README
该[Agent]包似乎与Laravel 11不兼容。让我们采用不同的方法来实现所需的功能。
警告:此包仅供[demonstration purposes / personal learning only]。使用风险自担!它可能存在错误或不适合生产的功能。
Laravel版本低于11时,需要使用以下推荐包Agent。
Laravel Agent充当Laravel应用程序和用户设备之间的桥梁,
允许您根据用户使用的设备做出明智的决定,
如何展示您的内容和与您的用户互动。这为每个人提供了一种更定制和用户友好的体验。
关注功能
- "另一个包依赖于上面提供的package-name功能。我们需要确保它作为依赖项被包含在内。"
安装
使用composer安装
composer require spinzar/laravel-agent
Laravel(可选)
在config/app.php
中添加服务提供者
Spinzar\LaravelAgent\AgentServiceProvider::class,
并将LaravelAgent别名添加到config/app.php
'LaravelAgent' => Spinzar\LaravelAgent\Facades\LaravelAgent::class,
基本用法
首先创建一个LaravelAgent
实例(如果您使用Laravel,可以使用LaravelAgent
Facade)
use Spinzar\LaravelAgent\LaravelAgent; $larvaelagent = new LaravelAgent();
如果您想解析CLI脚本中除当前请求以外的其他用户代理,例如,可以使用setUserAgent
和setHttpHeaders
方法
$larvaelagent->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'); $larvaelagent->setHttpHeaders($headers);
是?
检查用户代理中的某个属性。
$larvaelagent->is('Windows'); $larvaelagent->is('Firefox'); $larvaelagent->is('iPhone'); $larvaelagent->is('iPad'); $larvaelagent->is('OS X');
魔法is方法
与上一个is()
方法执行相同操作的方法
$larvaelagent->isAndroidOS(); $larvaelagent->isNexus(); $larvaelagent->isSafari();
移动设备检测
检查移动设备
$larvaelagent->isMobile(); $larvaelagent->isTablet();
匹配用户代理
使用正则表达式搜索用户代理
$larvaelagent->match('regexp');
附加功能
接受语言
获取浏览器的接受语言。示例
$languages = $larvaelagent->languages(); // ['nl-nl', 'nl', 'en-us', 'en']
设备名称
如果设备是移动设备,获取设备名称。(iPhone,Nexus,AsusTablet,...)
$device = $larvaelagent->device();
操作系统名称
获取操作系统。(Ubuntu,Windows,OS X,...)
$platform = $larvaelagent->platform();
浏览器名称
获取浏览器名称。(Chrome,IE,Safari,Firefox,...)
$browser = $larvaelagent->browser();
桌面设备检测
检查用户是否正在使用桌面设备。
$larvaelagent->isDesktop();
这检查用户是否不是移动设备、平板电脑或机器人。
手机设备检测
检查用户是否正在使用手机设备。
$larvaelagent->isPhone();
机器人检测
检查用户是否是机器人。这使用jaybizzle/crawler-detect进行实际的机器人检测。
$larvaelagent->isRobot();
机器人名称
获取机器人名称。
$robot = $larvaelagent->robot();
浏览器/平台版本
MobileDetect最近添加了一个version
方法,可以获取组件的版本号。要获取浏览器或平台版本,可以使用
$browser = $larvaelagent->browser(); $version = $larvaelagent->version($browser); $platform = $larvaelagent->platform(); $version = $larvaelagent->version($platform);
注意,版本方法仍在beta测试中,所以它可能不会返回正确的结果。
许可证
Laravel User Agent根据The MIT License (MIT)许可。