vietstars/client-detect

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

v0.0.4 2023-12-20 01:50 UTC

This package is auto-updated.

Last update: 2024-09-20 03:23:14 UTC


README

安装

使用composer安装

composer require vietstars/client-detect

Laravel(可选)

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

Vietstars\ClientDetect\ClientServiceProvider::class,

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

'Client' => Vietstars\ClientDetect\Facades\Client::class,

基本用法

首先创建一个Client实例(如果你使用Laravel,可以使用Client外观)

use Vietstars\ClientDetect\Client;

$client = new Client();

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

$client->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');
$client->setHttpHeaders($headers);

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

是?

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

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

魔法is方法

与之前的is()方法做同样的事情的魔法方法

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

移动设备检测

检查移动设备

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

匹配用户代理

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

$client->match('regexp');

附加功能

接受语言

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

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

设备名称

获取设备名称,如果是移动设备。(iPhone,Nexus,AsusTablet等)

$device = $client->device();

操作系统名称

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

$platform = $client->platform();

浏览器名称

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

$browser = $client->browser();

桌面检测

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

$client->isDesktop();

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

手机检测

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

$client->isPhone();

机器人检测

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

$client->isRobot();

机器人名称

获取机器人名称。

$robot = $client->robot();

浏览器/平台版本

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

$browser = $client->browser();
$version = $client->version($browser);

$platform = $client->platform();
$version = $client->version($platform);

注意,版本方法仍在测试中,所以可能不会返回正确的结果。