При написании программы на CakePHP принято следовать шаблону MVC (Модель-Отображение-Контроллер). Программирование с применением этой модели разделяет ваше приложение на три основные части. Модель оперирует информацией Базы Данных, Отображение создает страницу с информацией из модели, а Контроллер обрабатывает запросы, сделанные пользователями.
Рисунок 1 демонстрирует каркас MVC запроса в Cake. Рассмотрим простейший пример. Предположим пользователь Иван нажал на ссылку «Купить пирог!», эта ссылка ведет на вашу страницу.
Почти каждый запрос в вашем веб-приложении проходит по этой схеме. Некоторые подробности этого процесса мы узнаем позже, а пока запомните это.
Почему используется именно MVC? Потому что это испытанный шаблон проектирования приложений, который делает ваше приложение модульным и быстрым. Разделение приложения на Модель, Контроллер и Отображение делает его «легким на подъем». Очень легко добавить какие-то новые возможности и молниеносно изменить внешний вид приложения. Модульность позволяет работать над одним проектом сразу нескольким разработчикам. Так же ничто не мешает внести изменения в часть приложения без какого-либо ущерба другой его части.
Если вы никогда не создавали приложения, пользуясь этой архитектурой, то вам понадобится некоторое время чтобы привыкнуть, но мы уверены, когда вы создадите первый проект на Cake, то уже не захотите возвращаться к старым методам.
эм... помоему туповатая реализация мвц. по-моему гораздо удобнее когда контролер управляет отображением а не передает ему управление как показано на схеме, пользователь должен взаимодействовать с контролером. те контроллер принимает запрос, получает данные из модели, загружает данные во вьюшку и выдает результат пользователю.
Нет! Отображение – отдельное звено и это обеспечивает отделение функционала от дизайна, т.е. смело можно изменять дизайн практически не влазя в код.
Второе предложение: _Отображение_создает_страницу_с_информацией_из_модели_
5 пункт из списка: _После_того_как_Контроллер_обработал_данные_—_он_передает_их_в_Отображение_.
Так откуда View берет данные из Controller'а или из Model'и ?
ну нормальная модель. если ты пишешь какой-то скрипт на пхп, то ты непременно придешь к тому, что части модель, контроллер и отображение у него есть. их можно назвать по-другому. но части эти есть. а вот что такое диспетчер я не понял. и почему его понадобилось выделять из контроллера, как процессирующей информацию части конструкции. потому что в принципе, ты прописываешь в форме action – и контроллер уже указан. куда здесь приклеивать еще диспетчер я не пойму. (может кто-то объяснит мне)
View берет данные из контроллера, а тот из модели.
Касательно диспетчера сам туманно понял.
Диспетчер, я так понял, какой-либо индехпхп, который разбирает урл и определяет кокой контроллер подключать
А модель – это разнообразные данные? Массивы, xml, таблички из БД?
/wiki/Manual/Developing/Models
раздел в процессе перевода, но ответ на ваш вопрос уже есть (в самом начале)
2007-11-27 22:31:00 | (15 Кб) | requests.png | вызовы, совершаемые CakePHP |