soyamen-dey/laravel-user-agent

适用于 Laravel 5.5 及以上版本的先进用户代理检测器。

v1.0 2018-07-08 15:14 UTC

This package is not auto-updated.

Last update: 2024-10-02 04:01:59 UTC


README

适用于 Laravel 5.5 及以上版本的先进用户代理检测器。

一个强大的包,允许您检测用户的浏览器、平台等。此包提供了一个非常简单的 API,无需任何配置。

安装

通过 Composer

$ composer require soumen-dey/laravel-user-agent

注意: 此包经过测试,与 Laravel 5.5 及以上版本完全兼容,不确定是否支持 Laravel 5.5 以下版本。

如果您使用 Laravel 5.4 或以下版本,需要手动注册 ServiceProviderAlias。在您的 config/app.php 文件中,只需这样做:

'providers' => [
    // ...
    Soumen\Agent\AgentServiceProvider::class,
];

'aliases' => [
	//...
    'Agent' => Soumen\Agent\Facades\Agent::class,
];

对于 Laravel 5.5 及以上版本,您无需做任何事情,只需安装包即可!

使用方法

设置

如果您已为 Agent 类设置了别名,则无需导入任何内容。但是,如果未设置别名,您可以这样做:

use Soumen\Agent\Agent;

// or

use Soumen\Agent\Facades\Agent

现在您已准备好使用此包。

API

Agent 外观

您可以使用以下方式访问访问者的详细信息,例如浏览器:

Agent::browser(); // returns all the details related to the visitor's browser

同样,您也可以获取其他详细信息

Agent::ip(); // the ip address of the visitor
Agent::device(); // details related to the visitor's device, eg, Phone, Tablet, etc.
Agent::header(); // details related to the request's header
Agent::platform(); // details related to the platform of the visitor, eg. Windows, etc.
Agent::userAgent(); // returns the HTTP_USER_AGENT string

您还可以获取与服务器相关的信息

Agent::server(); // returns details related to the server

可用方法

您也可以检索属性

Agent::browser('name'); // Firefox 61
Agent::browser()->name; // Firefox 61
Agent::browser()->getName(); // Firefox 61

单个服务负责获取访问者信息,有关更多信息,请参阅服务部分。

获取单个服务

$browser = Agent::get('browser'); // returns the browser service
$browser = Agent::browser(); // same as above

服务

Agnet 外观是针对单个服务的全局包装,负责处理获取访问者信息的实际任务。如果您想更具体地操作,可以直接调用服务。

例如,获取关于访问者浏览器的详细信息

use Soumen\Agent\Services\Browser;

Browser::get(); // returns all details related to the visitor's browser
Browser::getDetails(); // same as get() method

每个服务的 API 都非常相似,只有一些细微的变化,因此您也可以这样做

use Soumen\Agnet\Services\Device;
use Soumen\Agent\Services\Platform;

$device = Device::get(); // get details about the visitor's device
$platform = Platform::get(); // get details related to the visitor's platform

可用服务

获取属性

要获取单个浏览器属性,如 name,请执行以下操作之一:

$browser = Agent::browser('name');
$browser = Agent::browser()->name;
$browser = Agent::browser()->name();
$browser = Agent::browser()->getName();

使用服务

use Soumen\Agent\Services\Browser;

// get the name of the browser
$browser = Browser::get('name');
$browser = Browser::get()->name;
$browser = Browser::get()->name();
$browser = Browser::get()->getName();

// or

$browser = Browser::getDetails('name');
$browser = Browser::getDetails()->name;
...
// You get the idea

这适用于浏览器的所有可用属性。有关更多信息,请参阅每个服务的相应部分。

属性作为参数

您可以使用属性名称作为参数,因此您可以这样做:

Agent::browser('name'); // Firefox 61
Agent::platform('name'); // Windows 10

而不是

Agent::browser()->name;
Agent::platform()->name;

使用单个服务

use Soumen\Agent\Services\Browser;
use Soumen\Agent\Services\Platform;

Browser::get('name'); // Firefox 61
Platform::get('name'); // Windows 10

// or

Browser::getDetails('name'); // Firefox 61
Platform::getDetails('name'); // Windows 10

注意: 参数应与属性名称完全相同。

有关可用属性的列表,请参阅相应服务的 属性 部分。

浏览器

使用外观

$browser = Agent::browser();

使用服务

use Soumen\Agent\Services\Browser;

$browser = Browser::get();

// or

$browser = Browser::getDetails();
可用属性

平台

使用外观

$platform = Agent::platform();

使用服务

use Soumen\Agent\Services\Platform;

$platform = Platform::get();

// or

$platform = Platform::getDetails();
可用属性

设备

使用外观

$device = Agent::device();

使用服务

use Soumen\Agent\Services\Device;

$device = Device::get();

// or

$device = Device::getDetails();
可用属性

用户代理

使用外观

$userAgent = Agent::userAgent();

使用服务

use Soumen\Agent\Services\UserAgent;

$userAgent = UserAgent::get();

此服务没有特定的属性。

头信息

使用外观

$header = Agent::header();

使用服务

use Soumen\Agent\Service\Header;

$header = Header::get();

// or

$header = Header::getDetails();

可用属性

您可以使用属性名称作为参数列中的字符串。

Header::get('user-agent');
Agent::header('user-agent');

服务器

使用外观

$server = Agent::server();

使用服务

use Soumen\Agent\Services\Server;

$server = Server::get();

// or

$server = Server::getDetails();

可用属性

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息和工作列表,请参阅contributing.md

安全性

如果您发现任何与安全相关的问题,请通过电子邮件联系我,邮箱地址为 soumendeyemail@gmail.com

鸣谢

许可协议

本软件包采用MIT许可协议(MIT)发布。请参阅许可文件获取更多信息。