Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/50: Рейтинг темы: голосов - 50, средняя оценка - 4.72
 Аватар для Dizel
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 9

С чего лучше начать изучать MVC

20.03.2012, 05:31. Показов 11200. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите с чего лучше всего начать изучать MVC, делимся литературой ссылками и так далее
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2012, 05:31
Ответы с готовыми решениями:

С чего начать лучше? P.S. расскажите про Попова
Всем здравствуйте! Решил я начать изучать PHP, книг много, всякой всячины ещё больше. 1) Может для более быстрого продвижения...

Решил начать изучать графику. Подскажите с чего начать
Решил начать изучать графику в паскале. Подскажите с чего начать. Отличается ли графика Турбо паскаля и Паскаля абц?

Решил начать изучать 1С.С чего начать, что скачать?
Решил начать изучать 1С.С чего начать, что скачать?Какую среду, учебник, что для начала попробовать написать.мб у вас есть серия...

59
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
23.03.2012, 10:26
Студворк — интернет-сервис помощи студентам
шалонизатор это View то есть представление.

данные View получает из модели.

а контролеер определяет какая страница запрошена и, получая данные из модели, отправляет их в View , то есть в шаблонизатор.

вот и вся логика.
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 10:28
запрос -> контроллер -> модель -> контроллер -> вид.

Только контроллер определяет, куда и какие данные идут.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 10:58
запрос -> контроллер -> модель -> контроллер -> вид.
Схема не плоская. Не хватает модель -> вид.
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 11:05
Цитата Сообщение от OnYourLips Посмотреть сообщение
Схема не плоская. Не хватает модель -> вид.
Нет, модель -> вид нельзя, это противоречит MVC.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 11:51
KoIIIeY, с тобой не согласна википедия и популярные фреймворки.
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 12:43
Разве?

Цитирую вики:

В оригинальной концепции была описана сама идея и роль каждого из элементов модели, представления и контроллера. Но связи между ними были описаны без конкретизации. Кроме того, различали две основные модификации:
Пассивная модель — модель не имеет никаких способов воздействовать на представление или контроллер, и используется ими в качестве источника данных для отображения. Все изменения модели отслеживаются контроллером и он же отвечает за перерисовку представления, если это необходимо. Такая модель чаще используется в структурном программировании, так как в этом случае модель представляет просто структуру данных, без методов их обрабатывающих.
Активная модель — модель оповещает представление о том, что в ней произошли изменения, а представления, которые заинтересованы в оповещении, подписываются на эти сообщения. Это позволяет сохранить независимость модели как от контроллера так и от представления.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 13:00
KoIIIeY, ну тут обычная пассивная модель, только модель - не просто структура, а полноценный объект с методами.

Пример:
{{ book.author.name }}
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 13:31
Само собой модель это объект, в современном понимании это почти всегда.
Но все равно не надо давать модели доступ в вид.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 13:45
KoIIIeY, мы друг друга не поняли.
Я говорил не про доступ модели вид, а про доступ вида в модель(под стрелочкой я имел ввиду поток данных).
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 13:48
Цитата Сообщение от OnYourLips Посмотреть сообщение
KoIIIeY, мы друг друга не поняли.
Я говорил не про доступ модели вид, а про доступ вида в модель(под стрелочкой я имел ввиду поток данных).
ок
Но все равно, исключительно через хелпер
0
35 / 35 / 7
Регистрация: 27.03.2011
Сообщений: 146
23.03.2012, 13:50
Ни вид, ни модель понятия не имеет о друг друге.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 14:29
Ни вид, ни модель понятия не имеет о друг друге.
с тобой не согласна википедия и популярные фреймворки.

Но все равно, исключительно через хелпер
Какой хелпер? Вид имеет прямой доступ к модели. Посмотри наконец картинки в википедии(статья MVC) или посмотри на фреймворки. Код из Django я привел.
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
23.03.2012, 15:27
Цитата Сообщение от OnYourLips Посмотреть сообщение
Ни вид, ни модель понятия не имеет о друг друге.
с тобой не согласна википедия и популярные фреймворки.
как раз таки действительно не имеет понятия. ибо контроллер определяет какие данные должны отправится в представление для отображения. И получается совершенно не важно откуда достал данные контроллер из модели, или сам сгенерировал. это не имеет значения.
Модель и представление между собой не имеют связи.

А то что на практике получается что Шаблон представления в точности повторяет логическую структуру данных получаемых из модели, так это чистое совпадение, обусловленное простотой передачи данных в Представление без большой степени обработки.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 15:53
Модель и представление между собой не имеют связи.
Вот тут вид делает запрос у объекта book, получая автора, поле которого и отображает: {{ book.author.name }}

И еще раз: картинка на википедии.
0
35 / 35 / 7
Регистрация: 27.03.2011
Сообщений: 146
23.03.2012, 16:34
Контроллер передает в вид данные о авторе, пример из Kohana:

PHP
1
2
3
4
5
6
7
8
9
public function action_index()
{
// Тут можно заполнить $data данными, полученными из модели
    $data = array(
                  'name' => 'Васька', 
                  'age' => 25
    );
    $this->response->body(View::factory('welcome', $data)); 
}
Во вьюсе
PHP
1
<h2>Привет!</h2> Меня зовут, <?php echo $name; ?>. Мне <?php echo $age; ?> лет.
( http://kohanaframework.su/starting/view_1 )
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 16:50
gephaest, поддерживаю. То же самое в Zend и Yii Framework'ах.
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
23.03.2012, 16:54
Вот тут вид делает запрос у объекта book
ну тогда это не MVC а чтото другое. Ибо не может вид, в обход контроллера, данные получать.
Либо это следствие

А то что на практике получается что Шаблон представления в точности повторяет логическую структуру данных получаемых из модели, так это чистое совпадение, обусловленное простотой передачи данных в Представление без большой степени обработки.
приведенного выше "принципа совпадения"
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
23.03.2012, 17:13
Ибо не может вид, в обход контроллера, данные получать.
Так я и говорю про обратное. Может.

Википедия: http://upload.wikimedia.org/wi... m2.svg.png

Zend Framework: http://framework.zend.com/imag... ro.mvc.png
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
23.03.2012, 17:14
Цитата Сообщение от OnYourLips Посмотреть сообщение
Не может, единственный похожий случай - через хэлпер, но хелперы работают как миниконтроллеры.
0
35 / 35 / 7
Регистрация: 27.03.2011
Сообщений: 146
23.03.2012, 17:20
OnYourLips, что значит прерывистая линия?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2012, 17:20

Хочу начать изучать Cisco с чего начать?
Вопрос у меня такой! Хочу в будущем изучать cisco но купить маршрутизатор дорого, а найти где-нибудь поэксперементировать, позаниматься...

С чего начать изучать C++
С чего начать изучать C++ желательно книгу попроще так как мне 12 лет. P.S Решение не оспаривать хочу попробовать P.S.S Работаю в...

Хочу начать изучать java. С чего посоветуете начать, какие книги или какие-то советы есть?
Хочу начать изучать java. С чего посоветуете начать, какие книги или какие-то советы есть? Спасибо заранее

С чего начать изучать Anguliar
Посоветуйте плз.... Книги, хелпы, видео... для новичка! (почему такое не присоединено к шапке ветки?) Знаю html, чистый js,...

C чего начать изучать криптографию
Братка, ты хоть это в мою тему там где Си добавь, а то всё выпелил, даже главное: &quot;Подскажите что ли план действий, с чего начать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru