PHPやTwigテンプレートでユーザのブラウザ、OS、デバイスを判定したい場合は、pikanji/oc-agent-pluginで簡単にできる。
JSで判定したいならばこちら。今回はPHPとテンプレートからの利用の話。
PHPやTwigで使えるものはこちらなどあるが、Twigからの使い方がキレイでないのと引数が必要なメソッドが呼べないので、↓自分で作ってみた。
Viewテンプレートでの利用
OctoberCMSテーマのレイアウトにAgentコンポーネントを追加するだけで、下記のようにテンプレートから使えるようになる。詳しくはREADMEで。
{% if Agent.isFireFox() %}
下記は引数が現在のUserAgentにマッチするか判定する。
{% if Agent.match('regexp'); %}
PHPコードでの利用
PHPからはベースになっているjenssegers/agentをファサードで使用できる。プラグインがファサードも登録しているので自分で登録する必要はない。
use Agent;
...
if (Agent::isFireFox()) {
...
あるいは、直接 jenssegers/agent を使っても問題ない。
use Jenssegers\Agent\Agent;
...
$agent = new Agent();
if ($agent->isFireFox()) {
...