Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)