phattarachai/laravel-mobile-detect

此包已弃用,不再维护。未建议替代包。

支持Laravel的桌面/移动用户代理解析器,基于MobileDetect

v1.0.2 2023-03-06 20:11 UTC

This package is auto-updated.

Last update: 2024-06-06 22:44:48 UTC


README

Latest Stable Version Total Downloads

感谢 jenssegers/agent 提供原始版本。

这是一个支持Laravel的PHP桌面/移动用户代理解析器,基于 Mobile Detect,增加了桌面支持和额外功能。

安装

使用composer安装

composer require phattarachai/laravel-mobile-detect

Laravel(可选)

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

Phattarachai\LaravelMobileDetect\AgentServiceProvider::class,

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

'Agent' => Phattarachai\LaravelMobileDetect\Facades\Agent::class,

基本用法

首先创建一个 Agent 实例(或者在Laravel中使用 Agent Facade)

use Phattarachai\LaravelMobileDetect\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');

魔术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);

注意,版本方法仍处于测试阶段,因此可能不会返回正确的结果。

支持开发者

🙋‍♂️ 您好,我是奥诺,是一名全栈Web开发者。我为自己的项目创建了一些package,并经常使用。如果您有任何建议,想要在PHP / Laravel / NodeJS / Python或其他语言上创建package,欢迎提出建议。

line: phat-chai

💻 如果有有趣的项目,需要团队合作或寻找有经验的程序员来帮助解决难题,请联系我。我很乐意提供帮助,并共同创建优秀的产品。

📄 您可以在 https://phattarachai.dev 上查看我的历史和作品。

https://phattarachai.dev

许可

Laravel User Agent遵循 MIT许可证(MIT)