Wildflower CMS использует дополнительные пути к классам (настроены в bootstrap.php
) для загрузки себя в ваше приложение. Сам код CMS хранится в подкаталоге wildflower/
рядом с вашим приложением. Если вы хотите перезаписать основные функциональные возможности Wildflower, я полагаю, что вы сможете перетащить файлы в каталог app/
, чтобы изменить их, аналогично тому, как вы можете сделать это для некоторых файлов в каталоге cake/
.
Плагины CakePHP имеют свои недостатки. Насколько я понимаю, принцип плагинов состоит в том, чтобы позволить людям легко обмениваться автономными функциями, поэтому немного усложняет взаимодействие с основным приложением или другими плагинами или содержит свои собственные конфигурации или источники данных. Это позволяет разработчикам легче делиться блоками функциональности для использования в ваших приложениях, поскольку они могут поставить плагин под контроль версий вместо написания многостраничной статьи «копировать и вставлять» Bakery .
Традиционно считается, что CMS является ядром, а плагины - аддонами, которые вы устанавливаете для CMS. Разработчик Wildflower подумал о том, чтобы пойти по маршруту плагина, а затем, должно быть, понял, что необходим уровень контроля, невозможный для плагинов, поскольку они существуют в CakePHP 1.2, поэтому решил, что было бы более целесообразно быть базовым приложением.
Используя эту дополнительную функциональность пути к классам, файлы Wildflower будут использоваться, когда они не существуют в вашем приложении. Ему удается выйти из вашего пути, оставив вам в основном пустой каталог app/
, сделав заказ CakePHP ищет файлы: app/
затем wildflower/
затем cake/