Использовать шаблоны... или нет?

Статус
В этой теме нельзя размещать новые ответы.

faustmen

Guest
Использовать шаблоны... или нет?

Всем привет.
Не знаю, насколько это флейм, но хотел поделиться некоторыми мыслями ( и ваши услышать).
Писал я ЦМС для сети инет-магазинов. Как вариант (как мне тогда казалось) выбрал очень хорошее решение: шаблоны. Логика отдельно, дизайн отдельно.
Красота.
Потом уже через год когда дописывал это дело, понял, что дизайн это не только хтмл, это ещё и лхл, которая её выводит. Так вот, на мой взгляд при правильном разделении на функцинал и дизайн можно и нужно избавляться от шаблонов, которые добавляют тормозов и некоторые ещё и не везде подерживаются.
 

Фанат

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

почитай темы в этом форуме - уже всё обсуждалось не раз
 

Alexandre

PHPПенсионер
в PhpInside (номер не помню)
была статься, как организовать паттрен Decorator
как раз твой вариант - использовать Decorator вместо шаблонизатора
 

faustmen

Guest
Всё же мне кажется стоит пользоваться больше самим ПХП парсером, нежели придумывать велосипеды.
 

t3[0one]

Новичок
помимо разделения php от html ,шаблонизатор может кешировать странички,например smarty .... и все тормаза перекрываются кешированием )) имхо )
 

SiMM

Новичок
> помимо разделения php от html ,шаблонизатор может кешировать странички,например smarty
Ну да. А средствами PHP сделать кэширование ну просто нереально. Несмотря на то, что smarty - это всего лишь php-шный класс.
 

master_x

Pitavale XXI wieku
to faustman
каждому свое... хорошо, что до тебя дошло, что использовать чистый PHP- это удобнее и быстрее.
 

faustmen

Guest
реально всё возвращается на круги своя. Вначале был против шаблонов, потом против не-шаблонов, потом опять против.
 

SiMM

Новичок
faustmen, отделять бизнес-логику от представления - всё равно удобно. А какими уж средствами ты будешь этого добиваться (pure PHP, Smarty или чего ещё) - дело десятое.
 

Dimush

Guest
Логика отдельно, дизайн отдельно.
дизайн это не только хтмл
=> поделить еще и логику... логика дизайна отдельно, логика приложения отдельно, ну и логику содержимого добавить... только вот забыл как это называется :)
 

Нечто

Психолог РНРClub
Ребят, вам еще не надоело?
Или теперь каждый, открывший для себя Америку, будет прибегать с этим на форум?
 

Фанат

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

faustmen

Guest
Уверен, каждому есть чему поучиться, а вообще большое всем спасибо, наверное тема закрывается..
 

ForJest

- свежая кровь
Мне кажется этот вопрос восходит своими корнями к вопросу о преждевременной оптимизации.

Шаблоны (особенно смарти) позволяют получить решение быстрее чем pure php. Снижаются расходы на разработку.
И это есть хорошо.
Представим себе что в проекте 50 шаблонов. Из них найдётся достаточное количество таких, которые относятся к служебным/настроечным/редковызываемым страницам/запросам.
Примеры
- изменение личной информации пользователя.
- редактор страниц
- ...
Функционал который работает редко. Его не имеет смысла оптимизировать.
И будет некоторое количество страниц/запросов которые вызываются чаще всего. Такие места можно отыскать
в уже готовом проекте и реализовать отображение/вывод данных без темлейтового движка.
Можно pure PHP. Или какой-нибудь "лёгкий" шаблонизатор.
Смысл в том что:
- набор переменных/состав данных уже известен и устоялся.
- известны уже все необходимые модификаторы типа {$var|escape:html|. Можно легко заменить их переменными или выражениями типа <?php echo htmlspecialchars($OutputVars['var']); ?>

- найдено место, которое приносит наибольшую "прибыль" с минимальными усилиями
- остальные части не затрагиваются.
--------------------------------
Так что ответ - нужно использовать лучшее от каждого подхода именно в тех местах, где использование принесёт наибольшую пользу
- шаблоны обеспечивают скорость разработки, гибкость модификации за счёт некоторого оверхеда (справедливости ради нужно отметить что в том же смарти есть настройки для production mode, которые снимают оверхед)
- подход без шаблонов снижает оверхед. Но затрудняет модификацию.
 

alexhemp

Новичок
ForJest

Полностью согласен.
Добавлю еще - что скорость разработки - увеличивает доходы разработчика :) А оверхед на нормальном хостинге - минимален.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху