Download the PHP package dotkernel/dot-user-agent-sniffer without Composer
On this page you can find all versions of the php package dotkernel/dot-user-agent-sniffer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dotkernel/dot-user-agent-sniffer
More information about dotkernel/dot-user-agent-sniffer
Files in dotkernel/dot-user-agent-sniffer
Package dot-user-agent-sniffer
Short Description DotKernel component providing details about a device by parsing a user agent.
License MIT
Informations about the package dot-user-agent-sniffer
dot-user-agent-sniffer
dot-user-agent-sniffer is a wrapper on top of matomo/device-detector
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',
),
)
All versions of dot-user-agent-sniffer with dependencies
matomo/device-detector Version ^6.3.0
psr/container Version ^1.1.2
laminas/laminas-stdlib Version ^3.18.0