サーバ側でモバイル端末を識別するニーズがあり、MobileDetectというのを導入してみました:
導入方法ですが、composer
を使うと簡単です:
composer require mobiledetect/mobiledetectlib
Cakeの中のプログラムから利用するには、use
を使います。
今回はMobileDetectのラッパーのコンポーネントを作成しました:
<?php namespace App\Controller\Component; use Cake\Controller\Component; use Cake\Controller\ComponentRegistry; use Mobile_Detect; /** * MobileDetectWrapper component */ class MobileDetectWrapperComponent extends Component { private $mobileDetect; /** * Default configuration. * * @var array */ protected $_defaultConfig = []; public function initialize(array $config) { $this->mobileDetect = new Mobile_Detect; } public function isMobile() { return $this->mobileDetect->isMobile(); } }
あとはコントローラからこのように呼び出してあげると、モバイルか否かの結果が$isMobile
に入ります:
$isMobile = $this->loadComponent('MobileDetectWrapper')->isMobile();