CakePHP3:如何通过requestHandler检测控制器中的移动设备?
我需要在控制器中检测移动设备的状况。我在控制器中尝试了以下代码CakePHP3:如何通过requestHandler检测控制器中的移动设备?,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我需要在控制器中检测移动设备的状况。我在控制器中尝试了以下代码 public function initialize() { parent::initialize(); $this->loadComponent('RequestHandler'); } 然后我在索引方法中编写了以下代码 if ($this->RequestHandler->is('mobile')) { //condition 1 }else { //condition 2
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
}
然后我在索引方法中编写了以下代码
if ($this->RequestHandler->is('mobile'))
{
//condition 1
}else {
//condition 2
}
这里我得到了错误
Error: Call to undefined method Cake\Controller\Component\RequestHandlerComponent::is()
移动设备如何在控制器中检测 我想那将是
$this->RequestHandler->isMobile()
请求处理程序对此不是必需的,因为: 控制器还可以直接访问请求对象,因此问题中的代码可以重写为:
/* Not necessary
public function initialize()
{
parent::initialize();
}
*/
public function example()
{
if ($this->request->is('mobile')) {
...
} else {
...
}
}
这两个示例都可以使用,对于$this->RequestHandler->isMobile(),我们需要加载“RequestHandler”组件。
/* Not necessary
public function initialize()
{
parent::initialize();
}
*/
public function example()
{
if ($this->request->is('mobile')) {
...
} else {
...
}
}