MVC. Inside the view layer.
Август 2, 2008
MVC меня покорил. Очень классно этот принцип описан в книге-туториалу Symfony. Напомню, Symfony – это такой фреймворк на php, если бы не мое предвзятое отно�?ение к различным фреймворкам и не желание все до мелочей писать самому, то я бы наверняка использовал его для быстрого написания проектов.
Вернемся к MVC. Если вы программист со стажем, и естественно владеете навыками ООП, то наверняка ва�? светлый ум обращался к книге Хелма, Джонсона и других «Design Patterns. Elements of Reusable Object-Oriented Software». Ткните в меня пальцем, если вы видели там MVC. Таки его там вообще нет. Он называется паттерном видимо чисто с идеологической точки зрения. А �?тука в чем? В том, что этот паттерн не является дополнительным к тем основным, описанным в книге, и не коим образом не противоречит им. �? при проектировании можно использовать и то и другое одновреммено. Замечательно, правда?
Inside the view layer. �?менно так называется глава, описывающая работу с видом. Казалось бы, научились представление отделять от кода. Что же еще там есть такого, чему можно научиться. Оказывается есть!
Пример 1. Вполне очевидный. У вас есть множество страниц �?аблонов, естественным для программиста было бы минимум повторения кода, кэ�?ирование и так далее. Поэтому мы берем простую схему: 
и действуем по ней
это layout.php а теперь возьмем на�? template.php который мы формировали до этого:
<h1>H3110,W0rld</h1> My name
вот и все, подумайте как это включить в index.php который соединит оба файла вместе, и мы получим страничку, в которой �?аблон можно менять и не надо подгружать ли�?ьний раз основу страницы.
Пример 2. Предыдущий пример крайне познавателен, но дело в том, что сам �?аблон который помещается в выкладку, зачастую состоит из многих одинаковых частей. а значит мы можем использовать повторно один и тот же код. Например у нас есть блог, и мы с помощью контроллера можем сортировать по дате, по популярности, или же выводить одну последнюю. Взгляните на схему, она проста и очевидна, но разве рань�?е вы подумали бы ей пользоваться?

Мало того, каждый элемент можно разбить на несколько других как на следующем рисунке

а также использовать слотирование:

и вуаля вне�?ний вид какой-нибудь CMSки, который можно рас�?ирять дополнять, и не возиться с index’ом, простой и приятный – готов.
Понятно дело, не обязательно использовать Symfony, я ли�?ь дать пример для размы�?ления. Удачных эксперементов, друзья!

Сентябрь 1st, 2008 at 5:39 пп
А проще сказать може�?ь?