dotkernel/dot-user-agent-sniffer
Composer 安装命令:
composer require dotkernel/dot-user-agent-sniffer
包简介
Dotkernel component providing details about a device by parsing a user agent.
README 文档
README
Dotkernel component based on matomo/device-detector, providing details about a device by parsing a user agent.
dotkernel/dot-user-agent-snifferis a wrapper on top of matomo/device-detector
Documentation
Documentation is available at: https://docs.dotkernel.org/dot-user-agent-sniffer/.
Badges
Install
You can install this library by running the following command:
composer require dotkernel/dot-user-agent-sniffer
Before adding this library as a dependency to your service, you need to add Dot\UserAgentSniffer\ConfigProvider::class, to your application's config/config.php file.
Usage example
<?php declare(strict_types=1); namespace Api\Example\Service; use Dot\UserAgentSniffer\Data\DeviceData; use Dot\UserAgentSniffer\Service\DeviceServiceInterface; /** * Class MyService * @package Api\Example\Service */ class MyService { /** @var DeviceServiceInterface $deviceService */ protected $deviceService; /** * MyService constructor. * @param DeviceServiceInterface $deviceService */ public function __construct(DeviceServiceInterface $deviceService) { $this->deviceService = $deviceService; } /** * @param string $userAgent * @return DeviceData */ public function myMethod(string $userAgent) { return $this->deviceService->getDetails($userAgent); } }
When called with an $userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/78.0.3904.84 Mobile/15E148 Safari/604.1', myMethod($userAgent) returns an object with the following structure:
Dot\UserAgentSniffer\Data\DeviceData::__set_state(array( 'type' => 'smartphone', 'brand' => 'Apple', 'model' => 'iPhone', 'isBot' => false, 'isMobile' => true, 'os' => Dot\UserAgentSniffer\Data\OsData::__set_state(array( 'name' => 'iOS', 'version' => '13.2', 'platform' => '', )), 'client' => Dot\UserAgentSniffer\Data\ClientData::__set_state(array( 'type' => 'browser', 'name' => 'Chrome Mobile iOS', 'engine' => 'WebKit', 'version' => '78.0', )), ))
The above call can also be chained as myMethod($userAgent)->getArrayCopy(), to retrieve the details as an array:
array ( 'type' => 'smartphone', 'brand' => 'Apple', 'model' => 'iPhone', 'isMobile' => true, 'isBot' => false, 'os' => array ( 'name' => 'iOS', 'version' => '13.2', 'platform' => '', ), 'client' => array ( 'type' => 'browser', 'name' => 'Chrome Mobile iOS', 'engine' => 'WebKit', 'version' => '78.0', ), )
dotkernel/dot-user-agent-sniffer 适用场景与选型建议
dotkernel/dot-user-agent-sniffer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.35k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2019 年 11 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 dotkernel/dot-user-agent-sniffer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dotkernel/dot-user-agent-sniffer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 4.35k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-11-18