soyamen-dey / laravel-user-agent
适用于 Laravel 5.5 及以上版本的先进用户代理检测器。
Requires
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 或以下版本,需要手动注册 ServiceProvider
和 Alias
。在您的 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。
鸣谢
- 松本德(Soumen Dey)
- 所有贡献者
- 非常感谢hisorange/browser-detect。
许可协议
本软件包采用MIT许可协议(MIT)发布。请参阅许可文件获取更多信息。