CakePHP расширяющие контроллеры (только) - PullRequest
0 голосов
/ 06 марта 2011

Я строю сайт на основе виджетов. У меня есть общий класс WidgetInstancesController с несколькими методами, моделью и некоторыми представлениями для него. Теперь я хочу знать, возможно ли расширить этот класс. Другими словами, каждый виджет должен быть другим классом, расширяющим класс WidgetInstancesController. Я хочу хранить эти классы виджетов под app/widgets/. Кроме того, эти виджеты не будут иметь какой-либо конкретной модели (поскольку они будут использовать родительскую модель WidgetInstance), но могут иметь некоторые конкретные представления.

Любые предложения о том, как я могу это сделать, будут высоко оценены!

1 Ответ

1 голос
/ 06 марта 2011

Я бы предложил строить их как компоненты, но это можно сделать другими способами.

Мне пришлось сделать нечто подобное, когда я построил CMS с дополнительными модулями. Чтобы заставить его работать логически, мне пришлось немного повернуть MVC с ног на голову и пойти на очень тонкий контроллер . По сути, логика интерфейсного модуля содержалась полностью на уровне модели со связанными представлениями в качестве элементов. Модуль помощник извлек и отобразил модуль в общедоступном интерфейсе. Бэкэнд обрабатывался обычным образом через MVC с обычным контроллером ожирения.

Как выяснилось, модели были удивительно легкими, и в них все было в качестве элементов, что сделало юзабилити мечтой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...