Wildflower CMS - это не плагин CakePHP ... Baked Simple CMS - это плагин CakePHP ... какая разница? - PullRequest
3 голосов
/ 05 октября 2009

Я только начал играть с CakePHP и нашел Wildflower CMS . Мне нравится идея, и я собираюсь начать с ней возиться. У меня есть вопрос.

В README я обнаружил следующее: "Wildflower не является и не будет плагином CakePHP" . В чем разница между Wildflower и чем-то вроде 'Baked Simple' , который претендует на роль плагина CakePHP?

Является ли Wildflower целым приложением Cake, а Baked Simple - просто плагином, который будет использоваться в другом приложении Cake? Может ли кто-то пролить свет на это? Каковы будут преимущества или недостатки каждого из них (если вы хотите использовать один из них в качестве основы для своего приложения, но немного его расширить)?

1 Ответ

6 голосов
/ 06 октября 2009

Wildflower CMS использует дополнительные пути к классам (настроены в bootstrap.php) для загрузки себя в ваше приложение. Сам код CMS хранится в подкаталоге wildflower/ рядом с вашим приложением. Если вы хотите перезаписать основные функциональные возможности Wildflower, я полагаю, что вы сможете перетащить файлы в каталог app/, чтобы изменить их, аналогично тому, как вы можете сделать это для некоторых файлов в каталоге cake/.

Плагины CakePHP имеют свои недостатки. Насколько я понимаю, принцип плагинов состоит в том, чтобы позволить людям легко обмениваться автономными функциями, поэтому немного усложняет взаимодействие с основным приложением или другими плагинами или содержит свои собственные конфигурации или источники данных. Это позволяет разработчикам легче делиться блоками функциональности для использования в ваших приложениях, поскольку они могут поставить плагин под контроль версий вместо написания многостраничной статьи «копировать и вставлять» Bakery .

Традиционно считается, что CMS является ядром, а плагины - аддонами, которые вы устанавливаете для CMS. Разработчик Wildflower подумал о том, чтобы пойти по маршруту плагина, а затем, должно быть, понял, что необходим уровень контроля, невозможный для плагинов, поскольку они существуют в CakePHP 1.2, поэтому решил, что было бы более целесообразно быть базовым приложением.

Используя эту дополнительную функциональность пути к классам, файлы Wildflower будут использоваться, когда они не существуют в вашем приложении. Ему удается выйти из вашего пути, оставив вам в основном пустой каталог app/, сделав заказ CakePHP ищет файлы: app/ затем wildflower/ затем cake/

...