Smarty VS <? print ?>

vxc

Новичок
Smarty VS <? print ?>

Пишу свою CMS в один момент стал вопрос о том как работать с шаблонами.
На данный момент используется html скелет страниц со вставочками типа <? print $title; ?> <? print $page_name; ?>...
Чем выгоден переход на Smarty?Только прирост в производительности?
Почему тогда тот же битрикс использует констуркцию с <? print $title; ?> ?
 

DiMA

php.spb.ru
Команда форума
что значит выгоден? Любой шаблонизатор сильно все тормознет. Смарти - особенно.

А матерное слово Битрикс лучше и не произноси..
 

Фанат

oncle terrible
Команда форума
На этом форуме примерно пол-тысячи сообщений в обсуждение данного вопроса %)
прирост в производительности?
окстись. откуда там прирост будет?!
 

vxc

Новичок
ммм думалось что за счет того что "компилируются только один раз."

UPD....ммм подумал - действительно бредово звучит.

А почему тогда он так популярен?
 

AmdY

Пью пиво
Команда форума
последнее время понял, что смарти всё же для профессионалов, которые способны не только юзать готовое, но и расширять. а тем кто пользуется им для бональной замены <?php echo $var ?> на {$var} смарти действительно ненужен.
 

vxc

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

Духовность™

Продвинутый новичок
последнее время понял, что смарти всё же для профессионалов, которые способны не только юзать готовое, но и расширять. а тем кто пользуется им для бональной замены <?php echo $var ?> на {$var} смарти действительно ненужен.
Конформизм (от поздне лат. conformis — «подобный», «сообразный») — термин, обозначающий пассивное, некритичное принятие господствующего порядка, норм, ценностей, традиций, законов и т. д. Проявляется в изменении поведения и установок в соответствии с изменением позиции большинства или самого большинства.

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

AmdY

Пью пиво
Команда форума
лучше совершать маленькие глупости как все, чем свою, но большую. (шаблонизаторо писателям посвящается)
 

The employer

Новичок
Re: Smarty VS <? print ?>

Автор оригинала: vxc
Пишу свою CMS в один момент стал вопрос о том как работать с шаблонами.
На данный момент используется html скелет страниц со вставочками типа <? print $title; ?> <? print $page_name; ?>...
Чем выгоден переход на Smarty?Только прирост в производительности?
Почему тогда тот же битрикс использует констуркцию с <? print $title; ?> ?
Прирост в производительности разработки.

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

Если пробовать писать свой хороший шаблонизатор - то есть риск через некоторое время обнаружить его сильно похожим на смарти (разве что синтаксис языка шаблонов может отличаться) ;)
 

Фанат

oncle terrible
Команда форума
Проблема в том, что синтаксис Смарти практически не отличается от синтаксиса шаблонизатора Похапе.
 

DiMA

php.spb.ru
Команда форума
Вполне может быть и быстрее. Например, IF в пхп будет всяко медленнее исполнятся, чем примитивный IF сишного шаблонизатора.
 

The employer

Новичок
Автор оригинала: pilot911
Blitz решает, http://alexeyrybak.com/blitz/blitz_ru.html
Интересная штука, но сыроват пока.

И вот еще что. Создается впечатление, что для отображения более-менее сложного шаблона (с вложениями и циклами) нужно довольно много кода написать на PHP. То есть не получится просто слить в шаблон все необходимые переменные и вызвать display() (и не заморачиваться на тему - каким оно там образом будет задизайнено). Это так?
 

fixxxer

К.О.
Партнер клуба
Проблемы со смарти скорее идеологические, чем технологические.

Если не пихать в шаблон все подряд, превращая его в кашу, то смарти вполге пригоден к использованию. Конечно код он генерит далекий от идеального, но если не мега высоконагруженный проект, вряд ли это самое узкое место :) Акселератор, конечно, обязателен.

С другой стороны, если ограничиваться небольшим набором конструкций - if, foreach - то не вижу никаких проблем в использовании и plain php-шаблонов. Примерно то же самое и получается.

А вообще, для начала надо определиться с требованиями к template engine - при наличии точного списка требований (а это зависит от ситуации) выбор обычно становится очевиден.

Что касается blitz, то он именно так и задуман, что presentation-логика отделяется от собственно шаблона и пишется во вьюхе на php. Это решение скорее организационное, чем техническое - разделение работы программиста и верстальщика. Если этот подход вам не подходит, значит, вам нужно другое решение :)
 
Сверху