PHPのユーザーエージェントライブラリphp-useragentを使ってみた
自作フレームワーク用に、ユーザーエージェントの判定が欲しかったので、ライブラリを探していたところ、php-useragentといういい感じのライブラリがあったので、使い方のまとめです。
公開日: 2019.4.5
公式サイト
同じ製作者の方が作っている、Javascript版もあるようです。
インストール
まずはインストールします。Composerでインストールが簡単です。
composer require zsxsoft/php-useragent
使い方
composerならautoloadで自動的に読み込まれるので、requireだけすればOKです。
<?php
require_once __DIR__ . './vendor/autoload.php';
$ua = UserAgentFactory::analyze($_SERVER['HTTP_USER_AGENT']);
これで$uaにユーザーエージェント情報が格納されます。
取得できるデータ
取得できるデータは下記になります。
$ua->useragent
$ua->platform['type']
$ua->device['image']
$ua->device['title']
$ua->device['brand']
$ua->device['model']
$ua->os['image']
$ua->os['title']
$ua->os['name']
$ua->os['version']
$ua->browser['image']
$ua->browser['title']
$ua->browser['name']
$ua->browser['version']
大きく分けて、プラットフォーム、デバイス、OS、ブラウザのデータが取れます。
$ua->useragentはHTTP_USER_AGENTの生データが入ります。
ブラウザとプラットフォームの判定リスト
一部ですが、公式サイトによると下記のようになります。
Tested Browsers: Amazon Silk / Android Webkit / Avant Browser / Comodo Dragon / curl / Firefox / Google Chrome / Internet Explorer / Microsoft Edge / Links / Lynx / Maxthon / MxNitro / Opera / QQBrowser / Safari SRWare Iron / Teleca Q7 / UC Browser / Vivaldi / W3M / wget / Yandex.Browser and so on..
OS: Android / Arch Linux / CentOS / Chrome OS / Debain / Fedora / FreeBSD / OSX / Red Hat / openSUSE / SymbianOS / Unix / Palm webOS / Windows 3.1 – 10 / Ubuntu / Linux and so on..
Devices: Xiaomi / BlackBerry / Nexus / HTC / Huawei / Kindle / Lenovo / LG / Motorola / Nokia / OnePlus / PlayStation / Samsung / Sony Xperia / ZTE / Ubuntu / Windows Phone / Apple Family and so on.
簡単にですが、PHPのユーザーエージェントライブラリphp-useragentを見てきました。
ユーザーエージェントの判定はリストのメンテナンスが大変なので、ライブラリを使うほうがコスパは高いですね。