访问 CakePHP 3 路由器前缀

Accessing CakePHP 3 Router Prefix

我有问题。我已经使用 Ubuntu 安装了 CakePHP 3,我想测试路由器前缀

Router::prefix('admin', function($routes) {
  $routes->connect('/:controller/:action/*', [], ['routeClass' => 'Cake\Routing\Route\InflectedRoute']);
});

我已经按照食谱中的步骤进行操作,我在 /src/Controller/admin

中有这个 AppController 和 UsersController

src/Controller/admin/AppController.php

<?php
namespace App\Controller\Admin;

use Cake\Controller\Controller;


class AppController extends Controller{

public function initialize()
{
    parent::initialize();
    $this->loadComponent('Flash');
}


}// end class

?>

src/Controller/admin/UsersController.php

<?php
namespace App\Controller\Admin;

use Cake\Controller\Controller;


class AppController extends Controller{

public function initialize()
{
    parent::initialize();
    $this->loadComponent('Flash');
}


}// end class

?>

http://i.stack.imgur.com/7rjkv.png

我已经在 Windows 8 中使用 XAMPP 尝试过这种情况,没有问题。我真的想知道我是否遗漏了配置中的某些内容?

顺便说一下,我遵循了 ubuntu 中关于如何使用 cakephp 3 的步骤(来自 LAMP、mbstring、intl、composer 的正确安装)。

非常感谢您的回答。谢谢!

你没有完全按照食谱中描述的步骤进行操作,子命名空间以大写字母开头,确切地说,它将使用前缀名称的 CamelCapsed 版本,所以在你的情况下是 Admin,就像在示例中一样。

如果你仔细观察,这也是错误消息告诉你的内容

Error: Create the class UsersController below in file: src/Controller/Admin/UsersController.php

它适用于 Windows,因为默认情况下它的文件系统是 case-insensitive