| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Что такое MVC? До конца не могу разобраться. |
| Автор: zammar 22.1.2012, 18:49 | ||
т.е. MVC состоит из трех частей, как я понял: Модель представление поведение Так вот вопрос в том, что из себя представляет каждый из элементов? На данный момент я это понимаю так: Модель - это данные. лежащие в базе в файловой структуре не важно. представление - это грубо говоря css, html поведение - это сам скрипт php И еще, опишите пожалуйста на пальцах, какой-нибудь шаблон проектирования. Я никак не могу понять как с ними работать. |
| Автор: userseo 22.1.2012, 18:55 |
| смотри исходники: http://sourceforge.net/projects/mvc-lt/?source=directory быстрее поймешь. |
| Автор: MuToGeN 23.1.2012, 12:45 |
| Есть несколько парадигм, скрывающихся за этими тремя буквами. К примеру, порой можно обходиться вообще без моделей, если проект достаточно прост для этого (философия CodeIgniter). А в развернутом виде: 1. Модель - это доступ к данным и доменная логика. Не суть важно, откуда модель их берет - из mysql или postgres или mssql или d3 или файловой системы. 2. Представление - это то, что отвечает за визуализацию. И, соответственно, за логику визуализации. 3. Контроллер - связь между 1 и 2. При этом модель и представление могут порой спокойно общаться между собой без контроллера. 4. Сервисы - это как раз то, где должна лежать основная часть бизнес-логики. Это философия Zend Framework. Еще советую погуглить на тему FSUC. Но при этом иметь ввиду, что это не более чем мнение одного из разработчиков ZF. |
| Автор: zammar 27.1.2012, 19:35 | ||
| Спасибо за ответы, ребята. Только у меня вопрос остался с представлением. т.е. если я напишу метод класса который будет выводить подключение к стилям и html код, то этот метод можно назвать представлением?
И еще последний вопрос: а сами данные, стили и html вообще какое нибудь отношение имеют к MVC? |
| Автор: krundetz 28.1.2012, 00:11 | ||||
нельзя
данные да, html и css нет |
| Автор: zammar 1.2.2012, 22:25 | ||||
| krundetz, все-таки я не понимаю, что именно тогда представление? Можно на примере? Вы говорили:
Но мой метод тоже выводит структурированную стоку так как надо, разве нет?
|
| Автор: Absinthe 1.2.2012, 23:07 | ||
Практически вся логика, связанная с объектами системы, должна быть в модели.
|
| Автор: krundetz 2.2.2012, 09:33 | ||||||||
Метод не является представлением, он его может собрать из данных или отдать, но сам он не будет представлением. Вот небольшой и даже примитивный пример. Модель:
Представление:
Контроллер:
P.S. Я специально привел пример всего с одним классом, так как понятие MVC следует отделять от OOP. |
| Автор: zammar 3.2.2012, 21:13 |
| Все ясно. Конечно нужно будет закреплять практикой, но уже все понятно. Спасибо! |
| Автор: Turos 22.2.2012, 18:34 |
| Посмотрите как работает любая CMS на MVC ----------------------------- https://www.allmetals.ru/metals/magnesium/chemprop/ |
| Автор: krundetz 22.2.2012, 19:39 |
Именно любая? Не верю. Turos я уже не говорю о том, что в CMS особенно любой, без четкого представления что такое паттерны найти их проблематично. |
| Автор: SamDark 22.2.2012, 23:23 |
| Народ говорит, что мои заметки на эту тему помогают: http://rmcreative.ru/blog/post/mvc-front-controller-controller-i-router http://rmcreative.ru/blog/post/mvc-view |
| Автор: krundetz 23.2.2012, 16:51 |
подпишусь под этими словами |