CakePHP:插件无法扩展主src内的AppController

时间:2015-07-24 03:26:24

标签: php cakephp namespaces

我正在使用CakePHP 3.我一直在寻找使我的应用程序模块化的方法,并建议我使用插件来做到这一点。所以我决定试一试。请参阅我之前的问题:Modular Directory Structure With CakePHP。我有一个名为Client的插件(模块) - 它有一个名为ClientsController的控制器。

当我使用“http://localhost/client/clients/index”访问它时,它不起作用。我得到一个丢失的控制器错误。我发现这是因为扩展了位于主目录中的App \ Controller \ AppController。我在主src目录中的插件中有一些常见的东西。

怎么了?

为什么我不能延长App\Controller\AppController

错误

enter image description here

我的代码

<?php

use App\Lib\OC\OCSSP;
use Cake\Network\Exception;
use Cake\ORM\TableRegistry;
use Cake\Routing\Router;
use Cake\Utility\Text;


use App\Controller\AppController;

/**
 * Clients Controller
 *
 * @property \App\Model\Table\ClientsTable $Clients
 */
class ClientsController extends AppController
{

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

    }

}

1 个答案:

答案 0 :(得分:1)

我不知道蛋糕,但从外观上看,你只是忘记了错误信息建议使用的命名空间。

namespace \Client\Controller

这将导致范围分辨率错误,您会看到它就像命名类

你有一个名为

的班级
 \ClientsController 

而且蛋糕正在寻找一个名为

的人
\Client\Controller\ClientsController 

另请注意,在打开php标记之后,您希望命名空间成为文件中code的第一行。

<?php
 namespace ....