Вопрос по выводу саита

Agatov

Новичок
Вопрос по выводу саита

У меня назрел вот такой вопрос...
До сих пор я делал саиты вот так

PHP:
include"файл с шапкой";

// Выводим скриптом верхнюю навигацию

include"файл с началом левого столбца ( ну там <table> <tr><td ... >)";

// Выводим контент в левый столбец

include" файл с </td><td ...> ... ";

// Выводим ещё контент

include"файл закрывающий теги таблицы и с футером"

Разумеется, я намеренно упростил этот код, оставил только основное, поэтому не ругайте меня за некоторые "конструкции".


Дело в том, что последнее время такой подход перестал меня удовлетворять. Поэтому я хотел бы спросить у вас совета, как выводить конечный результат ( страницу) в браузер пользователя.
 

Фанат

oncle terrible
Команда форума
а я так до сих пор делаю. и меня все устраивает.
а что не устраивает тебя?
 

Agatov

Новичок
Ну вобщем-то особенно неудобного и для меня в этом ничего нету, но думал мож кто додумался до чего-нибудь более умного? Как-никак я уже 3 года так делаю, могло и устареть ))
 

MadGreen

meninweb
ну за исключением содержимого подключаемых файлов никто ничего принципиально нового не придумал...
просто содержимое это у тебя на примитивном уровне... а так работоспособный вариант
 

Фанат

oncle terrible
Команда форума
Agatov
ну, вообще-то, я делаю немного не так.

include"настройки";
// код, который получает содержимое страницы.
include"файл с шапкой";
include"шаблон страницы";
include"файл закрывающий теги таблицы и с футером"
 

jonjonson

Охренеть
Раз уж вы используете табличную вёрстку, то скелет сайта лучше держать в одном шкафу, а не распихивать кости по разным ящичкам :)

PHP:
include "настройки.пхп"; 
include "контроллер.пхп"; 
?><table><?
?><tr><?
?><td colspan=2>include "верх.пхп";</td><?
?></tr><tr><?
?><td>include "лево.пхп";</td><?
?><td>include "право.пхп";</td><?
?></tr><tr><?
?><td colspan=2>include "низ.пхп";</td><?
?></tr><?
?></table><?
 

Фанат

oncle terrible
Команда форума
boombick
на мой взгляд, инклюд - одна из ращрешенных конструкций должна быть в шаблоне.

другое дело, что здесь не шаблон приведен, а какой-то "скелет", сути которого лично я не понимаю...
 

jonjonson

Охренеть
Фанат, таблица растерзанная по файлам - это большая проблема на будущее.
Не хотите как я показал, делайте так
PHP:
include "настройки.пхп"; 
include "контроллер.пхп"; 
?><table>
<tr>
<td colspan=2><? include "верх.пхп"; ?></td>
</tr><tr>
<td><? include "лево.пхп";?></td>
<td><? include "право.пхп";?></td>
</tr><tr>
<td colspan=2><? include "низ.пхп";?></td>
</tr>
</table><?
 

Фанат

oncle terrible
Команда форума
Котеров в старой набле пишет, что "активный шаблон" - это очень удобно.
 

hermit_refined

Отшельник
Фанат
ох, знаю... но 5 лет назад и php-программирование было на другом уровне, и сайты были проще. да и он особенно там не распространяется, как нормально решать проблемы с логикой авторизации, редиректов и кеширования, а сразу переходит к идее шаблонизатора, в котором их нет.

кстати, "шаблонизатор" - эта та часть его книги, которая мне совершенно не нравится (всё-таки, для навязывания своего мнения по таким спорным вопросам намного лучше подходят форумы, блоги, etc., нежели книги-учебники). с одной стороны, это полная противоположность таким шаблонизаторам, как Blitz, в котором программисту приходится постоянно обслуживать дизайнера, с другой - тут у программиста вообще нет никакого контроля.

не все компоненты независимы, например, выборка данных может частично перекрываться, даже если налаживается взаимодействие между ними - в зависимости от порядка подгрузки появляется, например, (частичное) дублирование запросов к бд, а верстальщик - он не телепат и не должен / не может просчитывать, как чего там оптимальнее загружать и т.п.
в реализации с инклюдами этих компонент (а тем более - активных шаблонах) - получается код, разбросанный по файлам, с глобальными переменными, передающимися между ними, ужас-ужас.

т.е. хотелось бы, чтобы зависимость сложности скриптов от сложности сайта была близка к линейной, а тут - грубо говоря - не менее квадратичной.

когда требуется дать наибольшую свободу верстальщику - я не могу придумать пока ничего лучше, как предоставлять фабрику для подгрузки необходимых объектов-модулей, причем заставляя при подгрузке модуля указывать все необходимые из той же логической группы. хотя, это конечно, не очень удобно для него.
 

jonjonson

Охренеть
Так, обсуждение личностей в другом разделе... :)

По активному шаблону... Недавно столкнулся с ASP.NET 2.0 моделью.
http://rsdn.ru/article/patterns/ModelViewPresenter.xml
Правда статья о Model-View-Presenter как варианте Model-View-Controller. Но именно есть пример как элементы view (контролы) инициируют события, а Presenter заполняет их данными (кто-то не хотел отдавать в шаблоны ничего лишнего? пожалуйста).
 
Сверху