我在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,应该加载组件吗?