Cakephp 3:插件没有从AppController

时间:2017-03-06 15:48:03

标签: components cakephp-3.0

我在app / Controller / AppController.php中加载了一些组件

class AppController extends Controller
{

  public function initialize()
  {
      parent::initialize();

      $this->loadComponent('RequestHandler');
      $this->loadComponent('Auth');
  }
}

beforeFilter()方法在里面定义:

public function beforeFilter(Event $event)
{
    if ($this->Auth->isAnonymous() && $this->request->query('token')) {
        $user = $this->Auth->identify();
        if ($user) {
            $this->Auth->setUser($user);
        }
    }
}

当执行插件时,我得到'调用布尔'成员函数isAnonymous()'错误。这意味着$ this-> Auth是假的。这是因为'Auth'组件未加载。

所以,我有一个名为Files的插件,我将AppController定义为:

use App\Controller\AppController as BaseController;

class AppController extends BaseController
{

}

它是空的。 该文件位于plugin / src / Controller / AppController中。 我不明白这个错误。如果这个控制器扩展到主AppController,应该加载组件吗?

0 个答案:

没有答案