CakePHP: организуйте контроллеры в подпапках

Возможно ли в CakePHP организовать контроллеры (и модели) в подпапках? Спасибо.


person entropid    schedule 12.01.2012    source источник


Ответы (4)


Да, вы можете, но это устарело. См. обсуждение здесь. Последний пост на этой странице описывает, как это сделать в бутстрапе.

person David Bauer    schedule 12.01.2012
comment
О, указание дополнительных путей! Я мог бы сделать это, но почему устарело? Должен ли я использовать плагины вместо этого? Это просто потому, что мой сайт разделен на разделы, каждый из которых очень отделен от других, и я хотел бы немного организовать код (у меня много файлов!). - person entropid; 12.01.2012
comment
На самом деле я понятия не имею, так как это продвигалось в более ранних версиях. Плагины, кажется, путь. - person David Bauer; 12.01.2012
comment
Обсуждения не являются решениями, и это содержание обесценивания в ответе просто не соответствует действительности. - person Layton Everson; 09.01.2016

Это вовсе не устарело. Вы можете сделать это с помощью 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

person Chuck Burgess    schedule 15.08.2013

Для тех из вас, кто ищет версию этого ответа для CakePhp3, вот ссылка на документацию по маршрутизации. Используйте префикс маршрутизатора, который соответствует подпространствам имен / структуре каталогов вашего контроллера.

http://book.cakephp.org/3.0/en/development/routing.html#prefix-routing

person Layton Everson    schedule 08.01.2016

В 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

На всякий случай, если кто-то еще ищет эту информацию... ;)

person odaa    schedule 31.01.2016