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{ ......}