如何在CakePHP 3中的管理区域中创建AppController



i通过在routes.php文件中设置前缀" admin"创建管理区域:

Router::prefix('admin', function ($routes) {
    // All routes here will be prefixed with `/admin`
    // And have the prefix => admin route element added.
    $routes->fallbacks(DashedRoute::class);
});

现在我运行

bin/cake acl_extras aco_sync

它给我以下错误:

Welcome to CakePHP v3.3.10 Console
App : src
Path: C:wampwwwd3src
PHP : 5.5.12
Fatal error: Class 'AppControllerAdminAppController' not found in C:wampwwwd3srcControllerAdminErrorController.php on line 25

从上面的错误中,我了解它正在寻找SRC/Controller/Admin/Areac中的AppController,因此我确实在此处创建一个具有以下代码的AppController:

namespace AppControllerAdmin;
use AppControllerAppController;
class AppController extends Controller
{
}

编辑:我错了。我们不能在此处扩展 Controller ,因为我们不包括它。我们需要并实际需要扩展AppController,因此我们需要将Admin/AppController类命名为AdminAppController extend extent appcontroller之类的东西?如果是这样,其他本地控制器如何使用它?现在看来我很困惑。

但是现在在控制台中发生了新的错误,该错误说:

致命错误:无法声明类应用程序 controller admin appcontroller 因为名称已经在使用 C: wamp www d3 src controller admin admin appcontroller.php on Line 7

我不确定拥有/admin/name Space的本地AppController.php的最佳方法是什么。我是否真的需要一个,我认为是的,以覆盖admin相关功能并实际上修复ACL_EXTRA ACL_SYNC相关错误,第一位与控制台相关的错误。

我通过:

获得了
命名空间应用 Controller  Admin;使用Cake  Controller  Controller;类AppController扩展控制器{    ..... .....}

以及在任何其他管理控制器中,只需做示例:for Userscontroller:

使用App  Controller  ** Admin **  AppController;Class UsersController扩展了AppController{   ......}

最新更新