У меня проблема. Я установил CakePHP 3 с помощью Ubuntu и хочу проверить префикс маршрутизатора
Router::prefix('admin', function($routes) {
$routes->connect('/:controller/:action/*', [], ['routeClass' => 'Cake\Routing\Route\InflectedRoute']);
});
Я выполнил шаги в кулинарной книге, в которой у меня есть этот AppController и UsersController внутри / SRC / Controller / админ
SRC / Controller / администратор / 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 / администратор / 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
Я уже пробовал этот сценарий с использованием XAMPP в Windows 8, и у меня нет проблем. Мне действительно интересно, если я что-то упустил в конфигурации?
Кстати, я следовал инструкциям по использованию cakephp 3 в Ubuntu (от правильной установки LAMP, mbstring, intl, composer).
Я буду признателен за ваши ответы. Спасибо!
Вы точно не выполнили шаги, описанные в Поваренной книге, подпространство имен начинается с заглавной буквы, а точнее, оно будет использовать версию префикса имени CamelCapsed, так что в вашем случае это Admin
так же, как в примере.
Если вы присмотритесь, это также то, что сообщение об ошибке говорит вам
Ошибка: создайте класс UsersController ниже в файле: src / Controller /Администратор/UsersController.php
Он работает в Windows, потому что по умолчанию его файловая система без учета регистра.
Других решений пока нет …