Всем здраствуйте!!!
Вот и пришло время первой лекции нашего курса. Приступим...
Что говорит нам википедия:
Model-view-controller (MVC, «Модель-представление-поведение», «Модель-представление-контроллер») — архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.
Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента
- Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контроллера), изменяя свое состояние.
- Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
- Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.

Важно отметить, что как представление, так и поведение зависят от модели. Однако модель не зависит ни от представления, ни от поведения. Это одно из ключевых достоинств подобного разделения. Оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
Предложеное википедией описание MVC и схема ее работы вводит в заблуждение. А все почему? Да потому, что данная схема обычно используется в программировании совершенно другой сферы. У нас же дела обстоят немного иначе, в последствии чего начинающему веб программисту паттерн MVC совершенно непонятен.
В чем же отличия:
Главное отличие веб-разработок от разработки простого ПО то, что Представление (в конечном ее виде) не может напрямую взаимодействовать с остальной составляющей (ajax может частично это компенсировать). Поэтому схема MVC для интернет приложений принимает совершенно другой вид: модель и контроллер тесно взаимосвязаны и формируют представление, в конечном итоге вывод информации пользователю. Обычно в роли Представления выступают разнообразные шаблонизаторы, которые просто собирают информацию и формируют вывод.
Как работает MVC:
MVC, если в нем как следует разобраться, паттерн отличнейший и хорошо подходит для рабработки веб сайтов.
Самое сложное в нем, написать хороший Router. Router - это так сказать сердце MVC. Его основной задачей является определение Контроллера, на который следует возложить ответственность по обработке запроса пользователя. После того, как Роутер определит объект Контроллера и необхадимую для вызова функцию, контроллер собирает необходимую информацию (взаимодествуя с Моделью(ми)) передает ее на вывод, используя или нет то либо иное Представление...
Что же у нас в итоге получается?
1. При запросе пользователя к сайту Router определяет необходимый Controller и его метод.
2. Controller собирает необходимую информацию (возможно взаимодействуя с моделью)
3. Controller выводит информацию пользователю (возможно используя представление)
Хм, получается, что впринципе мы можем использовать только Router и разные Controller'ы, без моделей и представлений... Но такой расклад пойдет только для сайтов без использования баз данных и всевозможных наворотов для конечного пользователя, либо же нам придется как всегда шариться в куче непонятного когда не разложенного по полочкам...
Зачем нам нужны модели и представления:
Сначала о моделях (не о тех, что по подиумам ходят). Модели - обычно это чтото вроде прокладки между Базой Данных и муторными запросами. Если кому интересно, почитайте о ORM. Основные задачи, возложенные на Модели - это хранение и обработка информации. Преимущество - меньше мусора в основном коде...
Представления - это те-же шаблонизаторы, наипростейшим из которых является минимальный php код совместно с html. Использование представлений дает большое преимущество, программистам не надо парить и писать html где попало в коде, а дизайнерам и верстальщикам искать где и что нужно добавить или отредактированть...
Итоги:
Надеюсь мне удалось объяснить основную концепцию данного патерна. Знаю, что еще много чего вам не понятно, но терпение господа, еще все впереди...
Задание до следующей лекции:
- Изучить паттерны Observer и Singleton (они не такие уж и сложные)
P.S.: Кому что не понятно, пишите...
Спустя 13 минут, 51 секунда (21.11.2009 - 15:13) Joker написал(а):
Чот я не врубился)))
Контролер - это логика определённой странички, после выполнения всех операций засовывает всё в переменные.
Модель - что это? и зачем?
Представление - это уже визуализация странички с помощью полученых переменных из контролера.
Вопрос: модель для чего она и что вообще делает?
Вопрос 2: В школе все учились? помните когда дают теорию то сразу показывают пример по практике. а тут это где????
Контролер - это логика определённой странички, после выполнения всех операций засовывает всё в переменные.
Модель - что это? и зачем?
Представление - это уже визуализация странички с помощью полученых переменных из контролера.
Вопрос: модель для чего она и что вообще делает?
Вопрос 2: В школе все учились? помните когда дают теорию то сразу показывают пример по практике. а тут это где????
Спустя 4 минуты, 32 секунды (21.11.2009 - 15:18) Alehandr написал(а):
Joker
1:
1:
Цитата |
Модели - обычно это чтото вроде прокладки между Базой Данных и муторными запросами. Если кому интересно, почитайте о ORM. Основные задачи, возложенные на Модели - это хранение и обработка информации. Преимущество - меньше мусора в основном коде... |
Что не понятно то?
2: Практика будет дальше...
Спустя 17 секунд (21.11.2009 - 15:18) Joker написал(а):
А еще, когда ведут курсы узучать что самим редко очень при очень редко дают что то самим ну ведь на то они и курсы чтоб научили и показали как делается. А то вон попов напишет коряво про эти сиглы миглы а я его прочитаю и буду с табой спорить что ты не так их используешь а прав буду я т.к. ты сам отослал меня учить в левом месте. и даже не дал сылочку на провереный достоверный материал.
Спустя 1 минута, 45 секунд (21.11.2009 - 15:20) Joker написал(а):
Цитата (Alehandr @ 21.11.2009 - 18:18) |
Что не понятно то? |
Что за прокладка как она дейсвует да и слово прокладка мне особо не о чом не говорит.
Цитата (Alehandr @ 21.11.2009 - 18:18) |
2: Практика будет дальше... |
На данный момент мне нужна не практика а простой пример чтоб увидеть как это работает.
Спустя 4 минуты, 48 секунд (21.11.2009 - 15:24) HardWoman написал(а):
Joker
Ты видимо забыл опять, что ты разговариваешь с преподавателем. ты что то требуешь или просишь? Если просишь - то делай это вежливо.
А если требуешь - брысь отсюда.
Я уже предупреждала - смени тон
Так и чешуться руки дать тебе денек погулять. Ой дождешься - не удержусь
Мне например все понятно - не фиг по строчкам прыгать. Читай внимательно.
Ты видимо забыл опять, что ты разговариваешь с преподавателем. ты что то требуешь или просишь? Если просишь - то делай это вежливо.
А если требуешь - брысь отсюда.
Я уже предупреждала - смени тон
Так и чешуться руки дать тебе денек погулять. Ой дождешься - не удержусь
Мне например все понятно - не фиг по строчкам прыгать. Читай внимательно.
Спустя 4 минуты, 56 секунд (21.11.2009 - 15:29) Joker написал(а):
Цитата (HardWoman @ 21.11.2009 - 18:24) |
Ты видимо забыл опять, что ты разговариваешь с преподавателем. ты что то требуешь или просишь? Если просишь - то делай это вежливо. А если требуешь - брысь отсюда. Я уже предупреждала - смени тон Так и чешуться руки дать тебе денек погулять. Ой дождешься - не удержусь |
Да если где то не так написал сорри не заметил, ну я не требую и не прошу я так сказать высказываю какие недостатки есть.
Спустя 28 секунд (21.11.2009 - 15:30) Alehandr написал(а):
Joker
Учить только по своим соображениям не гуд, нужно чтобы люди научились сами искать нужную информацию и делать соответственные выводы. А потом, я покажу как решил тот или иной вопрос.
Выводы из всего этого: люди знают больше и учатся выбирать из кучи всего то, что им больше подойдет. А иногда бывают и такие моменты, когда нужной информации в сборе нигде нету и приходится все собирать по кусочкам...
На счет использования модели: Смотри к примеру, если мы пишем гостевую, то в модели этой гостевой пишем такие методы как выборка последних сообщений, всех, сохранение записи и все в таком роде. Написали мы изначально на файлах, гуд, работает. Если приспичило заюзать базу данных, то шариться по коду не придется, все операции над данными у нас происходят в 1 классе, правим быстро и без хлопот.
Примеры использования MVC:
Учить только по своим соображениям не гуд, нужно чтобы люди научились сами искать нужную информацию и делать соответственные выводы. А потом, я покажу как решил тот или иной вопрос.
Выводы из всего этого: люди знают больше и учатся выбирать из кучи всего то, что им больше подойдет. А иногда бывают и такие моменты, когда нужной информации в сборе нигде нету и приходится все собирать по кусочкам...
На счет использования модели: Смотри к примеру, если мы пишем гостевую, то в модели этой гостевой пишем такие методы как выборка последних сообщений, всех, сохранение записи и все в таком роде. Написали мы изначально на файлах, гуд, работает. Если приспичило заюзать базу данных, то шариться по коду не придется, все операции над данными у нас происходят в 1 классе, правим быстро и без хлопот.
Примеры использования MVC:
Спустя 6 минут, 23 секунды (21.11.2009 - 15:36) Joker написал(а):
Ну вот этого я и хотел, то есть на сколько я понел.
Ну вот на примере гостевой разберу.
В моделе прописаны функции выборки, удаления, добавления соответственно select(), delet(), add() в эти функции передуються какие то параметры и эти функции уже используються в контролере, а сами функции прописываються в моделе, и чтоб допустим нам с файлов перейти на базу нам надо лишь изменить содержании этих функций в моделе. правильно я всё понел?
Ну вот на примере гостевой разберу.
В моделе прописаны функции выборки, удаления, добавления соответственно select(), delet(), add() в эти функции передуються какие то параметры и эти функции уже используються в контролере, а сами функции прописываються в моделе, и чтоб допустим нам с файлов перейти на базу нам надо лишь изменить содержании этих функций в моделе. правильно я всё понел?
Спустя 3 минуты, 57 секунд (21.11.2009 - 15:40) Alehandr написал(а):
Joker
В точку...
В точку...
Спустя 1 минута, 11 секунд (21.11.2009 - 15:41) Joker написал(а):
Alehandr
Ну вот спасибо видишь привёл простой пример с гостевой и сразу стало всё ясно, пошел, искать материал по сиглы)
Ну вот спасибо видишь привёл простой пример с гостевой и сразу стало всё ясно, пошел, искать материал по сиглы)
Спустя 1 минута (21.11.2009 - 15:42) Guest написал(а):
class Conroller {
private $model = null;
public function __constructor
{
$this->model = Model::getObjModelConnect();
}
// Дальнейшие методы и логика
public function out()
{
$outHtml = new View;
$users = $this->model->getUsers();
$outHtml->renderhtml($users);
}
}
class Model {
private function __constructor()
{
if(!$tthis->link) {
$this->link = _dbconnect(....);
// Остальная логика
}
}
public static function getObjModelConnect()
{
$objDb = new Model();
return $objDb;
}
// Далее можно описывать методы с запросами
public function getUsers()
{
$sql = "SELECT * FROM `users`";
// Логика
...
return $dateUsers;
}
}
class View {
public function renderHtml($date)
{
var_dump($date);
}
}
private $model = null;
public function __constructor
{
$this->model = Model::getObjModelConnect();
}
// Дальнейшие методы и логика
public function out()
{
$outHtml = new View;
$users = $this->model->getUsers();
$outHtml->renderhtml($users);
}
}
class Model {
private function __constructor()
{
if(!$tthis->link) {
$this->link = _dbconnect(....);
// Остальная логика
}
}
public static function getObjModelConnect()
{
$objDb = new Model();
return $objDb;
}
// Далее можно описывать методы с запросами
public function getUsers()
{
$sql = "SELECT * FROM `users`";
// Логика
...
return $dateUsers;
}
}
class View {
public function renderHtml($date)
{
var_dump($date);
}
}
Спустя 4 минуты, 21 секунда (21.11.2009 - 15:47) Alehandr написал(а):
Guest
Не нужно лишнего кода! Все это будет дальше, на практике...
Не нужно лишнего кода! Все это будет дальше, на практике...
Спустя 1 час, 20 минут, 40 секунд (21.11.2009 - 17:07) Хозяин Огня написал(а):
Можно я тоже спрошу на примере гостевухи?)
Значит в модели - функции добавления, удаления, обновления, расположенные в отдельных файлах с расширением рнр.
Контроллер - не врубился, но кажется что-то связанное с передачей переменных от пользователя.
Представление - чистый нтмл, правя который мы можем менять например вид таблицы сообщений в гостевой книге?
Не слишком упростил? А вот, скажем подключение к БД, создание таблиц и т.д где должны находиться?
И наверное каждый из трёх компонентов должен и физически находиться в "отдельном месте" - в отдельных папках и файлах?
Значит в модели - функции добавления, удаления, обновления, расположенные в отдельных файлах с расширением рнр.
Контроллер - не врубился, но кажется что-то связанное с передачей переменных от пользователя.
Представление - чистый нтмл, правя который мы можем менять например вид таблицы сообщений в гостевой книге?
Не слишком упростил? А вот, скажем подключение к БД, создание таблиц и т.д где должны находиться?
И наверное каждый из трёх компонентов должен и физически находиться в "отдельном месте" - в отдельных папках и файлах?
Спустя 5 часов, 37 минут, 46 секунд (21.11.2009 - 22:45) Joker написал(а):
Alehandr
Вот поэтому я и просил пример. Чтобы не возникало как у меня так и других людей лишних вопросов. Практика это одно, а пример для показания что есть текущая теория темы это совсем другое.
Вот уже нас двое я и Хозяин Огня я на 99% уверен что еще будут такие как мы, хотя возможно не будет т.к. на наших вопросах многие это уже поймут.
А вот что я понел и как понел возможно комуто поможет.
Модель
Тут прописаны многие функции которые использует контроллер для построения своей логики и записи всего в переменную.
Контроллер
это логика страницы она определяет что выводить и куда отталкиваясь на массив $_GET или еще на какие нибудь параметры зависит от ситуации.
После выполнения своих действий он всё записывает в переменную.
Представление
Берет переменные из контроллера и воплощает их в html код.
Вот простой пример взял пример гостя слегка переделал и раскоментировал
Вот пример с ипользованием базы.
Использовать этот пример просто
А вдруг нам вместо базы нужно будет использовать файлы и тогда мы просто создадим новую модель
И использование примеры уже на файлах будет таким же как и на базе.
вот
И кстати когда переделал пример гостя понел для чего это вообще нужно классный курс начал вести! жду продолжения!!
Вот поэтому я и просил пример. Чтобы не возникало как у меня так и других людей лишних вопросов. Практика это одно, а пример для показания что есть текущая теория темы это совсем другое.
Вот уже нас двое я и Хозяин Огня я на 99% уверен что еще будут такие как мы, хотя возможно не будет т.к. на наших вопросах многие это уже поймут.
А вот что я понел и как понел возможно комуто поможет.
Модель
Тут прописаны многие функции которые использует контроллер для построения своей логики и записи всего в переменную.
Контроллер
это логика страницы она определяет что выводить и куда отталкиваясь на массив $_GET или еще на какие нибудь параметры зависит от ситуации.
После выполнения своих действий он всё записывает в переменную.
Представление
Берет переменные из контроллера и воплощает их в html код.
Вот простой пример взял пример гостя слегка переделал и раскоментировал
Вот пример с ипользованием базы.
Свернутый текст
class Conroller
{
private $model = null;
private $view = null;
// При создании класса контроллера мы создаём так же еще модель и представление.
public function __constructor
{
$this->model = new Model();
$this->view = new View();
}
// Дальнейшие методы и логика
public function out()
{
// Теперь мы с помощью модели записываем всех юзеров в переменную.
$users = $this->model->getUsers();
// Далее с помощью представления всех юзеров мы выводим на экран.
$this->view->renderhtml($users);
}
}
class Model
{
// Функция которая возращает массив со всеми пользователями.
public function getUsers()
{
$sql = "SELECT * FROM `users`";
// Логика
// ...
// фунции преобразуещее запрос и т.д. и т.п. в игтоге у нас должен появиться массив со всеми пользователями.
return $dateUsers;
}
}
class View
{
// Функции которая преобразует переданую информацию из контролра в html
public function renderHtml($date)
{
var_dump($date);
}
}
Использовать этот пример просто
Свернутый текст
$class = new Conroller();
$class -> out();
А вдруг нам вместо базы нужно будет использовать файлы и тогда мы просто создадим новую модель
Свернутый текст
class Model
{
// Функция которая возращает массив со всеми пользователями.
public function getUsers()
{
$file = file_get_contents('users.txt');
// Логика
// ...
// фунции преобразующие файл в массив со всеми пользователями.
return $dateUsers;
}
}
И использование примеры уже на файлах будет таким же как и на базе.
вот
Свернутый текст
$class = new Conroller();
$class -> out();
И кстати когда переделал пример гостя понел для чего это вообще нужно классный курс начал вести! жду продолжения!!
Спустя 2 часа, 10 минут (22.11.2009 - 00:55) glock18 написал(а):
Вообще во всем приходит понимание только тогда, когда делать что-то начнешь.
Спустя 1 час, 29 минут, 33 секунды (22.11.2009 - 02:25) G3/SG1 написал(а):
Если другими словами сказать, то модель - это поток вывода, поведение - поток ввода, а представление - графическая оболочка. Верно ли?
Спустя 4 часа, 48 минут, 11 секунд (22.11.2009 - 07:13) Alehandr написал(а):
glock18
Да, пока сам не начнешь, ничего путем понятно не будет...
G3/SG1
В каком-то смысле да.
Да, пока сам не начнешь, ничего путем понятно не будет...
G3/SG1
В каком-то смысле да.
Спустя 2 часа, 36 минут, 15 секунд (22.11.2009 - 09:49) Argnist написал(а):
Спасибо, с нетерпением жду следующего урока!
Спустя 7 дней, 10 часов, 6 минут, 46 секунд (29.11.2009 - 19:56) Хозяин Огня написал(а):
Нашёл такое определение.
Цитата |
Как известно, над проектом обычно работают программист и дизайнер. На дизайнере лежит ответственность за HTML (в данном случае подразумевается технический дизайнер), а на программи- сте - за все остальное. В случае совмещения PHP-скриптов и кода HTML дизайнер должен, по крайней мере, уметь читать скрипты, чтобы не навредить им, а программист должен уметь легко отсеи- вать из получившихся файлов HTML. Свет в конце туннеля Решение вышеозначенной задачи нашлось в области Объект- но Ориентированного Проектирования, а именно в схеме Model/View/Controller (MVC). MVC предлагает разделять логику модели (Model), логику представления (View) и бизнес-логику (Controller). В нашем случае, то есть в веб-проектах, в большинстве случаев мы уже имеем отделенную логику модели - базу данных. Как известно, СУБД имеют собственные методы поддержки це- лостности баз данных, что позволяет вынести из скриптов логику модели. Теперь остается решить, как отделить бизнес логику от ло- гики представления. Выражение «логика представления» очень хо- рошо сочетается с выражением «markup language» (язык разметки). Остался третий компонент - controller, то есть то, что всем управ- ляет. На эту роль очень хорошо подходит PHP. Реализация MVC в WEB Итак, мы имеем три компонента, давайте посмотрим, как все это должно работать. При поступлении запроса начинает работать PHP-скрипт (Controller). Исходя из полученных параметров, он запрашивает данные у базы данных (Model), затем выбирает шаблон (View), если он не известен заранее, который и отображает эти дан- ные. Одна из разновидностей этой схемы - это когда шаблон сам запрашивает у скрипта нужные ему данные |
Спустя 11 часов, 38 минут, 45 секунд (30.11.2009 - 07:35) Argnist написал(а):
по идее к модели еще можно отнести логику работы с ней, то есть всякие mysql_query(), mysql_fetch_assoc() и т.п.
Спустя 20 часов, 2 минуты, 40 секунд (1.12.2009 - 03:37) VolCh написал(а):
По идее к модели можно отнести всё, что относится к данным, вся бизнес-логика, контроллер должен, имхо, реализовывать только логику управления приложением. НЕ ПУТАЙТЕ бизнес-логику и логику управления. БД, а вернее хранилище данных (а это может быть и файлы, и данные в памяти, и даже всякие куки) - часть модели, причем не обязательная.
В идеале в контроллере две части - определить какой метод модели вызвать (ну и вызвать его
) и определить как отобразить (какое представление вызвать) результаты, полученные от модели. В простейшем случае две строки, например:
а можно вообще в одну
Простой пример: если нам надо получить сумму (или сколь угодно сложную формулу) чисел, хранящихся в БД, то модель должна вернуть сумму (и, если надо отобразить их, собственно числа), не надо считать сумму ни в контроллере, ни, тем более, в представлении. А если нам надо получить сумму двух чисел, введенных пользователем, то надо создать метод в модели, который будет считать эту сумму - пускай будет выглядеть излишне
В идеале в контроллере две части - определить какой метод модели вызвать (ну и вызвать его

$data = Model::getData();
View::show($data);
а можно вообще в одну
View::show(Model::getData();
Простой пример: если нам надо получить сумму (или сколь угодно сложную формулу) чисел, хранящихся в БД, то модель должна вернуть сумму (и, если надо отобразить их, собственно числа), не надо считать сумму ни в контроллере, ни, тем более, в представлении. А если нам надо получить сумму двух чисел, введенных пользователем, то надо создать метод в модели, который будет считать эту сумму - пускай будет выглядеть излишне
$data = Model::sum(a, b);, по сравнению с
$data = a + b;, но это будет идеологически верно.
Спустя 5 месяцев, 18 дней, 19 часов, 36 минут, 24 секунды (19.05.2010 - 22:14) gomer505 написал(а):
Цитата (Joker @ 21.11.2009 - 12:18) |
А еще, когда ведут курсы узучать что самим редко очень при очень редко дают что то самим ну ведь на то они и курсы чтоб научили и показали как делается. А то вон попов напишет коряво про эти сиглы миглы а я его прочитаю и буду с табой спорить что ты не так их используешь а прав буду я т.к. ты сам отослал меня учить в левом месте. и даже не дал сылочку на провереный достоверный материал. |
Попробуй разобраться вот в этом. Я проходил раз пять от начала до конца, пока не озарило понимание: Паттерн MVC
И пойми, пока сам не разберешься никто не преподнесет на блюдечке. Ищи направление, а все остальное надо сделать самому. И Попов все же заслуживает, чтобы его фамилию писали с большой буквы.
Спустя 35 минут, 41 секунда (19.05.2010 - 22:49) twin написал(а):
У Жени разве где то еcть MVC?
Спустя 3 минуты, 13 секунд (19.05.2010 - 22:53) twin написал(а):
Цитата |
Решение вышеозначенной задачи нашлось в области Объект- но Ориентированного Проектирования, а именно в схеме |
Полная дилетантская чушь.
Спустя 3 минуты, 36 секунд (19.05.2010 - 22:56) gomer505 написал(а):
Цитата (twin @ 19.05.2010 - 19:49) |
У Жени разве где то еcть MVC? |
Нет. Это я к тому, что предыдущий оратор написал его фамилию с маленькой буквы. Я понимаю, что может чисто механически, но все же надо уважать и других программистов - пусть даже если у них другое видение, как преподнести тему PHP, чтобы это было понятно новичкам.
Спустя 10 минут, 1 секунда (19.05.2010 - 23:06) twin написал(а):
Лично я это делаю намеренно. Женя не программист. Если бы речь шла о коммерсантах, я написал бы его фамилию с трех заглавных. А так все верно. Идеологически верно.
Если он где то на форуме о предпринимательстве напишет мою фамилию с маленькой буквы, я не обижусь. Ибо я балбес, а не коммерсант. Я программист ( по крайней мере стараюсь им выглядеть).
Так что все в порядке - каждому своё.
Если он где то на форуме о предпринимательстве напишет мою фамилию с маленькой буквы, я не обижусь. Ибо я балбес, а не коммерсант. Я программист ( по крайней мере стараюсь им выглядеть).
Так что все в порядке - каждому своё.
Спустя 5 месяцев, 9 дней, 13 часов, 25 минут, 24 секунды (29.10.2010 - 12:32) skript написал(а):
Я лично все понял!Спасибо за лекцию!
Спустя 2 месяца, 2 дня, 13 часов, 37 минут, 42 секунды (2.01.2011 - 03:09) sshipkov написал(а):
Цитата (VolCh @ 1.12.2009 - 00:37) |
По идее к модели можно отнести всё, что относится к данным, вся бизнес-логика, контроллер должен, имхо, реализовывать только логику управления приложением. НЕ ПУТАЙТЕ бизнес-логику и логику управления. БД, а вернее хранилище данных (а это может быть и файлы, и данные в памяти, и даже всякие куки) - часть модели, причем не обязательная. В идеале в контроллере две части - определить какой метод модели вызвать (ну и вызвать его :) ) и определить как отобразить (какое представление вызвать) результаты, полученные от модели. В простейшем случае две строки, например:
а можно вообще в одну
|
Тоже придерживаюсь этого мнения
Вот статья на эту тему Толстые тупые уродливые контроллеры
И на английском The M in MVC: Why Models are Misunderstood and Unappreciated
Спустя 1 месяц, 13 дней, 16 часов, 57 минут, 8 секунд (15.02.2011 - 20:06) Гость_edward написал(а):
А что насчет:
" Модель в терминах MVC — это не только совокупность кода доступа к данным и СУБД, но и, как минимум, логика домена и, возможно, некоторые другие части системы. В свою очередь контроллеры должны избавляться от логики приложения (Бизнес-логики), которую необходимо перенести в отдельный слой, например в слой служб (Service Layer). Таким образом Контроллер становится «тонким» и выполняет исключительно функцию связующего звена (glue layer) между отдельными компонентами системы."
-из той-же Википедии
" Модель в терминах MVC — это не только совокупность кода доступа к данным и СУБД, но и, как минимум, логика домена и, возможно, некоторые другие части системы. В свою очередь контроллеры должны избавляться от логики приложения (Бизнес-логики), которую необходимо перенести в отдельный слой, например в слой служб (Service Layer). Таким образом Контроллер становится «тонким» и выполняет исключительно функцию связующего звена (glue layer) между отдельными компонентами системы."
-из той-же Википедии
Спустя 4 месяца, 1 день, 13 часов, 23 минуты, 49 секунд (17.06.2011 - 08:30) sc2r2bey написал(а):
выскажу свое мнение:
написано немного нелогично, была модель-контроллер-представление, потом из ниоткуда появился роутер, ни здрастьте, ни до свидания, что это и откуда он взялся непонятно, ну про орфографические ошибки я молчу, есть есть ли на эту тему более толковое изложение?
зы а что такое бизнесс-логика?
написано немного нелогично, была модель-контроллер-представление, потом из ниоткуда появился роутер, ни здрастьте, ни до свидания, что это и откуда он взялся непонятно, ну про орфографические ошибки я молчу, есть есть ли на эту тему более толковое изложение?
зы а что такое бизнесс-логика?
Спустя 18 минут, 55 секунд (17.06.2011 - 08:49) nugle написал(а):
sc2r2bey
Цитата |
была модель-контроллер-представление |
всегда было модель-вид-контроллер, в курсе это
router.php - view.php - read_controller.php
Спустя 10 минут, 41 секунда (17.06.2011 - 09:00) sc2r2bey написал(а):
это как бы ответ на мой вопрос?
Спустя 25 минут, 3 секунды (17.06.2011 - 09:25) nugle написал(а):
Цитата |
потом из ниоткуда появился роутер, ни здрастьте, ни до свидания, что это и откуда он взялся непонятно |
Цитата |
это как бы ответ на мой вопрос? |
ответ на один из твоего вопроса
Спустя 43 минуты, 4 секунды (17.06.2011 - 10:08) sc2r2bey написал(а):
т.е. если я правильно понял, если создать файл под названием router.php это будет роутер?
Спустя 41 минута, 8 секунд (17.06.2011 - 10:49) nugle написал(а):
sc2r2bey
Если тебе нужно создать модуль, то
router.php - модель
view.php - вид
read_controller - контроллер чтения
Если тебе нужно создать модуль, то
router.php - модель
view.php - вид
read_controller - контроллер чтения
Спустя 1 час, 27 секунд (17.06.2011 - 11:50) sc2r2bey написал(а):
вопрос был вообще-то не про названия файлов

Спустя 3 месяца, 4 дня, 20 часов, 7 минут, 25 секунд (22.09.2011 - 07:57) Dagot написал(а):
у ирбуса понятней и интеренсей напиано
Спустя 3 минуты, 30 секунд (22.09.2011 - 08:01) Dagot написал(а):
Цитата |
sc2r2bey Если тебе нужно создать модуль, то router.php - модель view.php - вид read_controller - контроллер чтения |
А почему вид в .php, а не в соответсвующем формате стилей или шаблонов?
Спустя 12 дней, 13 часов, 57 минут, 11 секунд (4.10.2011 - 21:58) lyudik написал(а):
Вид ведь располагается в контроллере и должен выводиться, поэтому в .php
Спустя 24 минуты, 32 секунды (4.10.2011 - 22:22) caballero написал(а):
Цитата |
написано немного нелогично, была модель-контроллер-представление, потом из ниоткуда появился роутер, ни здрастьте, ни до свидания, что это и откуда он взялся непонятно, |
Потому что в теории сайт должен быть сделан в
Поэтому
Цитата |
а что такое бизнесс-логика |
Это логика работы приложения по управлению бизнес-данными, то есть предметными прикладными данными ради котроых собственно и создаются приложения.
Цитата |
Вид ведь располагается в контроллере |
Если вид в контроллере то почему он составляющая часть MVC наряду с контроллером?