То, что я делаю для проекта, которым я сейчас занимаюсь, это наличие следующего:
в моем bootstrap.php
<?php
....
App::build( array(
'plugins' => array(
join( DS, array( null, 'Users', 'abryant', 'Sites', 'appName', 'tools' )),
),
...
));
?>
Затем я сохраняю все свои служебные плагиныв папке инструментов плагин.Это для плагинов, которые вы используете в качестве внутренних утилит, которые не предоставляют пары контроллер / действие.IE плагины для поведения, компонентов, вещей из github и т. Д.
Один из плагинов, которые я всегда хватаю за свои вещи, это Eventful , который позволяетВы должны обрабатывать отправку и получение событий, используя классы событий, аналогичные контроллерам или моделям.
Затем создайте основной AppController, у которого есть соответствующий класс AppControllerEvent, в папке, указанной в инструкциях.Затем вы можете сохранить папку плагинов в чистоте для модулей , которые предоставляют контроллеры, представления или некоторые другие непосредственные взаимодействия с пользователем.
Вы можете использовать Eventful для трансляции событий от плагинов к приложению в AppModelили AppController вроде уровня.Если вы тщательно обдумаете это, вы можете использовать событие уровня приложения, чтобы запрашивать ответы от установленных плагинов, а затем циклически проходить через набор событий для регистрации блоков или вставлять информацию в установленные переменные представления.
Когда вы используете события и думаете о том, как события взаимодействуют с вашим приложением, многое открывается.