Возможно ли в CakePHP организовать контроллеры (и модели) в подпапках? Спасибо.
CakePHP: организуйте контроллеры в подпапках
Ответы (4)
Да, вы можете, но это устарело. См. обсуждение здесь. Последний пост на этой странице описывает, как это сделать в бутстрапе.
Это вовсе не устарело. Вы можете сделать это с помощью App:build и указать свои подпапки. Например, если вы хотите поместить все свои модели Twitter в Model/Twitter, чтобы ваш код был организован, вы можете добавить следующее к bootstrap.php
:
App::build(array(
'Model' => array(APP . 'Model' . DS . 'Twitter' . DS),
));
Теперь любой файл модели, который вы поместите в Model/Twitter, будет доступен при вызове.
Подробнее см. здесь: http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#App::build
Для тех из вас, кто ищет версию этого ответа для CakePhp3, вот ссылка на документацию по маршрутизации. Используйте префикс маршрутизатора, который соответствует подпространствам имен / структуре каталогов вашего контроллера.
http://book.cakephp.org/3.0/en/development/routing.html#prefix-routing
В CakePHP 3 вы можете определить дополнительные пути к классам в файле composer.json (см. http://book.cakephp.org/3.0/en/development/configuration.html#additional-class-paths)
Кстати, если вы хотите организовать файлы шаблонов в подпапках, вы должны добавить их пути в свой app.php по адресу App.paths
http://book.cakephp.org/3.0/en/development/configuration.html#general
На всякий случай, если кто-то еще ищет эту информацию... ;)