У меня проблема с маршрутизацией Yii Framework.
Я создал контроллер, назовем его TestController.php
Затем мне нужно поместить его в подкаталог с именем Make, чтобы моя структура выглядела так:
controllers/TestController.php
controllers/Make/TestController.php
Конечно, если я изменю его имя, оно отлично работает, но есть ли способ поместить контроллер с тем же именем в каталог контроллеров и подкаталог?
Редактировать
Мой конфиг URLManager выглядит так:
'urlManager'=>array(
'showScriptName' => false,
'urlFormat'=>'path',
'rules'=>array(
'gii' => 'gii',
'gii/<controller:\w+>' => 'gii/<controller>',
'gii/<controller:\w+>/<action:\w+>' => 'gii/<controller>/<action>',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
У меня есть контроллер Bookmarks
. Поскольку у меня есть некоторые другие вещи, связанные с закладками, мне нужно было создать каталог bookmarks
и поместить туда некоторые контроллеры, например Categories
.
Не могу заставить его работать.
Редактировать 2
Только что проверил чистое приложение. Кажется, это ошибка Yii (?).
Редактировать 3
Я изменил конфигурацию импорта, как предложено:
'import'=>array(
'application.models.*',
'application.components.*',
'application.controllers.bookmarks.*'
),
Я также создал правильное правило маршрута 'bookmarks/<controller:\w+>/<action:\w+>'=>'bookmarks/<controller>/<action>',
.
Моя структура файлов теперь выглядит следующим образом:
BookmarksController.php
bookmarks/CategoriesController.php
Вот исключения, которые выбрасываются:
исключение 'CHttpException' с сообщением 'Система не может найти
запрошенное действие "категории". ' в
/home/root/www/yiitesting/framework/web/CController.php:477