Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: MVC (Model-View-Controller)
 
 автор: Real1st   (08.11.2006 в 15:09)   письмо автору
 
 

Добрый день.

Кто-нибудь из Вас использует MVC в качестве архитектуры PHP приложение?
Если да, то какие схемы Вы используете.

На данный момент я работаю над проектом, где использую MVC.
Схема такова:
Вначале запускается Front_Controller, который парсит URL и передает распарсенные данные в Dispatcher. Dispatcher определяет, контроллеру какого модуля отправлять запрос и данные из URL'а.

Например, если URL таков:

http://example.com/news/show/id/10


То Dispatcher передает в класс News_Controller данные:

$Module = 'news';
$Action = 'show';
$Query = array(
    'id' => 10
);


Контроллер вызывает метод Show() объекта News. Метод Show() получает из данных своего класса id и выводит новость через систему шаблонов Smarty.

Я новичок в MVC, и поэтому изначально не отделил View от Model, т.е. шаблоны вызываются методами класса News, а должны вызываться методами класса News_Contoller. Теперь нет времени это исправить, но я исправлю это для следующих проектов.

А какие схемы у Вас? Предлагаю делиться опытом

   
 
 автор: Real1st   (09.11.2006 в 17:01)   письмо автору
 
   для: Real1st   (08.11.2006 в 15:09)
 

Насколько я понял, российских веб-девелоперов не очень интересует архитектура MVC, им ближе к душе просто лепить всё как попало. Печально.

   
 
 автор: cheops   (09.11.2006 в 23:47)   письмо автору
 
   для: Real1st   (09.11.2006 в 17:01)
 

Да, нет :))) просто модель крайне тяжело ложиться на сознание в этом переводе... особенно людей пугает слово "контроллер", слово, которое напрочь ассоциируется с "железным" контроллером.
Разработчики просто не понимают то, о чём вы говорите, хотя используют разделение каждый день - иначе ничего путного они не сделают. Просто им более привычны термины "шаблоны", "FrameWork" (набор классов), бизнес-логика. MVC - вытащили из Java в след за объектно-ориентированной моделью, но во-первых ООП под PHP не так сильно распространён, во вторых тут своя культура и специфика, засвязанная на Web. В этих терминах не все понимают о чём речь.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования