Два вопроса по недошаблонизатору Blitz или наглядно о том, какие не должны быть шаблонизаторы

fisher

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

про наследование - да я сам не уверен в ценности. но чтобы сформировать мнение - пытаюсь узнать все разные точки зрения.
 

Absinthe

жожо
мифическое наследование шаблонов, о котором кричат на каждом углу просто потрясает
До тех пор, пока не попробовал его, считал глупостью. И каждый раз думал, как говнокодить поменьше, реализовывая виджеты, добавление скриптов в head и т.д.
А тут не просто убрали смысл говнокодить, но и сделали все круто с точки зрения архитектуры и простоты.
 

pilot911

Новичок
До тех пор, пока не попробовал его, считал глупостью. И каждый раз думал, как говнокодить поменьше, реализовывая виджеты, добавление скриптов в head и т.д.
А тут не просто убрали смысл говнокодить, но и сделали все круто с точки зрения архитектуры и простоты.
какой шаблонизатор ?
 

fisher

накатила суть
>>сделали все круто с точки зрения архитектуры и простоты
в смысле web-scale? ;) а можно подробнее?
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
наследование шаблонов у себя я решил наследованием контроллеров

PHP:
class IndexController extends Controller {
    public function OnDefault($InnerTPL) {
        $TPL = template('default.index.tpl');
        $TPL->Inner = $InnerTPL;
    }
}

class FooController extends IndexController {
    public function OnDefault($InnerTPL) {
        $Foo = template('default.foo.tpl');
        parent::OnDefault($Foo);
    }
}
собствеено вот и все наследвание от низшего к высшему
 

Ирокез

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

Absinthe

жожо
pilot911 да какая разница? Django Templates, ASP.NET Master Pages. Smarty3 и Twig не пробовал еще, из них скорее всего выберу первый(по соображениям синтаксиса и производительности).

в смысле web-scale? а можно подробнее?
А я уже перечислил. Кофе и минеты оно не делает. Но решило проблемы с разными родительскими шаблонами(ранее этой частью отображения занимался в контроллере) и блоками типа scripts или title в head, которые тоже формировались в контроллере.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Твиг кстати Django-flavoured, и очень вкусный, как по мне. До него я тоже не понимал как это удобно — наследование шаблонов. Особенно с учетом того, что в твиге можно «наследовать» в обе стороны. Алсо, из соображений синтаксиса уж точно нужно выбирать твиг. Подозреваю, что с учетом хорошего встроенного кеширования(предкомпиляции в пхпкод, ага), может оказатся что и прозводительность будет на высоте. У меня на твиге хайлоадов нет, поэтому судить не стану. :)
 

Absinthe

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

fixxxer

К.О.
Партнер клуба
Теоретически, смарти 3 будет немного быстрее твига, т.к. твиг компилирует в классы с методами, а смарти3 - в копипаст-лапшу.
 

Absinthe

жожо
fixxxer делали практические замеры на хабре. Сильно быстрее. Плюс не понятна причина компилирования не в лапшу - компилированный код никто не будет же читать.
Те же шаблоны с наследованием в смарти объединяются, а в твиге всякие плейсхолдеры используются. Отсюда смарти может даже быть производительнее чистого php.
 

fixxxer

К.О.
Партнер клуба
Сильно быстрее на бредовых замерах типа циклов по 100500 итераций на шаблоны с 100500 блоками, в реальной жизни, скорее, именно немного :)

Причина компилирования не в лашпу становится понятной при расширении твига: свои тэги с кастомными обработчиками времени выполнения шаблона так писать намного проще - часто достаточно заменить базовый класс. А для хайлоадов твиг никогда не позиционировался.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
хм, стоит глянуть этот ваш твиг, раз все так его хвалят
 

fisher

накатила суть
эмм, чертовски рад слышать, что hi-load нынче из медленного, скурпулезного вылизывания, стал простым и быстрым ;)
Не уверен, что понял этот камент. Я писал про то, что писать логику на Си-экстеншенах сильно медленнее и не очень интересно тому, кто умеет писать Си-экстеншены.
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
Не уверен, что понял этот камент. Я писал про то, что писать логику на Си-экстеншенах сильно медленнее и не очень интересно тому, кто умеет писать Си-экстеншены.
логику, возможно и не интересно, а вот часть фреймворка, куда интересней.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
c частью фреймворка ты наступишь на те же самые грабли, что и с вызовом хелперов из шаблона и потеряешь скорость
если уж так нужен компилируемый код - пиши под hiphop
 

Ирокез

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
чукчанечитатель, соберись да прочти 2 и 3 страницы этого топика
 

fisher

накатила суть
>>вот часть фреймворка, куда интересней
кто хочет заниматься таки задачами в ***** - пишите в личку, таких задач полно.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
fisher, кто хочет заниматься таки задачами в _Москве_ ;)
 
Сверху