| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Ротаторы, лента новостей и тп. MVC |
| Автор: Muerto 7.3.2011, 16:12 |
| Допустим есть сайт, на сайте ротатор баннеров, лента новостей, облоко тэгов и тп и тд Ротатор и облоко тэгов и ленту новостей, нужно брать с базы, и делать какие то манипуляции над данными, будь то пагинация, рандомальность и тп. Так вот, такие вещи, для них нужно писать отдельную модель, или вообще обозвать это Widgets или Plugins? и таким вещам не место модели? Допустим есть блог, Вызывается контроллер который отвечает за главную страницу, далее наверно вызывает модель которая будет показывать посты, и пагинацию - эт работа для одного класса "модели" НО как грамотно реализовать в MVC pattern эти вот виджеты которые есть на любом сайте? Ничего не мешает сделать виджеты как и ничего не мешает вызывать несколько моделей через контроллер... Явное дело что ни в нашем шаблоне, и не в контроллере не место этим вещам. |
| Автор: SneG0K 7.3.2011, 17:30 |
| Это такие-же модули, просто отображаются в других местах. Я такой подход использую |
| Автор: Muerto 7.3.2011, 18:17 |
| SneG0K, Просто в контроллере вызывайте десяток модулей? А если таки не считать это моделью, а считать это виджетом/плагином , с моей точки зрения оч стандартное решение... Ещё конечно встает вопрос, а где их вызывать... Ибо если в каждом контроллере вызывать модель новостей модель того модель сего, а виджетов ака ротаторы рекламы баннеры тэги и тп, такого счастья может быть очень много. Выходит нужно копировать тот же самый код - что мы не любим. Но можно конечно создать некую модель в которой будет набор всего того чего мы хотим... Допустим если я вывожу XML файл, то ротатор и тп мне не нужны... Можно создать плагины или вставлять функции в шаблон - тоже оч. плохо Что бы всем понятно было о чем речь, допустим хотим разработать CMS |
| Автор: SneG0K 7.3.2011, 19:28 |
| А какая разница: грузить виджет и модуль? Вы сами себе ввели непонятные границы, по которым определяете принадлежность дополнения. У меня в есть список модулей, а так-же списки тех модулей, которые мне нужно подгрузить. Допустим я вызвал модуль news, а мне еще надо подгрузить модули currency, login, etc... В моей CMS модуль не отображает никаких шаблонов, у меня просто вызывается метод некоего класса, который возвращает определенный массив данных. А дальше есть уже поток, который разбирается, какой шаблон подгрузить (или не грузить вообще, а просто отдать json). |
| Автор: Muerto 7.3.2011, 19:34 |
| SneG0K, Разницы особой нету. Просто хочеться грамотно работать... Я вот почитал http://zendframework.ru/anonses/model-with-mvc и задумался просто о том как это делаю я... Я не из тех кто верит что если так делают все - то оно правильно (хотя верю что контроллер должен контралировать модули и виды, но никак не исполнать роль модели)... Но когда я разрабатываю скрипт типа CMS и тп. хотелось бы таки да следовать каким то обще-принятым принципам. Даже когда работаешь не с самопальным FW, можно работать не правильно |
| Автор: SneG0K 7.3.2011, 19:44 |
| Делай так, чтобы это было удобно. Делай свои модели проектирования, производные от MVC. |