Посоветуйте шаблонизатор

MiksIr

miksir@home:~$
На Украине все хорошо с травой, это я давно уже понял.
triumvirat, так предложите как на native php покрасивей оформить блоки в шаблоне.
Тока не нада предлагать "А почему бы это всё не сделать, например, в контроллере перед передачей в View(s) ?" - считаем что все то, что касается исключительно view - должно быть во view, а не в контроллере.
 

MiksIr

miksir@home:~$
Как записать красиво на php такую вот конструкцию
{typograf}
Большой текст
{/typograf}
где typograf - плагин смарти. Тест - именно текст, а не переменные.
 

Фанат

oncle terrible
Команда форума
MiksIr
вообще-то, это довольно редкий случай, когда само одержимое шаблона должно как-то обрабатываться. или я ошибаюсь?
 

fixxxer

К.О.
Партнер клуба
красиво - вынести в отдельный файл и обрабатывать хелпером:)

-~{}~ 10.09.08 22:25:

Автор оригинала: Nelius
fixxxer
Ну так это есть... :) Вопрос стоял во что это завернуть! :)
а что тебе нужно от template engine?
как организовано разделение труда - логику отображения пишет тот же человек, который кодит html, или другой?
какая архитектура приложения - нужно ли из шаблонов делать php-вызовы, или все нужные данные к моменту вызова вьюхи уже подготовлены?
какие требования к производительности?

вот ответь сам себе на эти вопросы, а там уже и выбирай.
 

Духовность™

Продвинутый новичок
Как записать красиво на php такую вот конструкцию
<?=$format->($text, 'typograf')?>

где format - экземпляр супер-пупер класса для подобных вещей, содержащий в себе метод typograf. Разве не красиво?


Роман, наверно имеется в виду ситуация, когда уже полученные данные необходимо как-то отформатировать. вот заменять BB на HTML - это чья прерогатива? Шаблонизатора или кода программы?
 

fixxxer

К.О.
Партнер клуба
слово "шаблонизатор" надо засунуть котерову обратно откуда вылезло.
есть вьюха. вьюха это логика отображения + хтмл. BB->HTML это, как бы, логика отображения.
 

A1x

Новичок
Автор оригинала: MiksIr
Как записать красиво на php такую вот конструкцию
{typograf}
Большой текст
{/typograf}
где typograf - плагин смарти. Тест - именно текст, а не переменные.
так:

<?php ob_start('typograf'); ?>
Большой текст
<?php ob_end_flush(); ?>
 

Angerslave

Новичок
A1x
Мда, красивее первого, конечно:))) Ну, хотя бы работает, уже хорошо:)
 

Nelius

кипарис во дворе
Holy war продолжается, fixxxer только пинает как надо ;)
Но все равно всем спасибо!)

Пишет логику отображения и кодит html один и тот же человек, я. Обычно беру только дизайн и даже верстаю сам. Редко отдаю верстать другу.
Все данные к моменту вызова вьюхи обычно уже готовы. Я думаю так более правильно, ошибаюсь?
Требования к производительности максимальные. Это основной из трех аспектов философии моей разработки: Простота, Производительность, Безопасность. Я даже когда беру готовые решения перерабатываю некоторые моменты где можно выиграть в производительности... замеряю через консоль отдельные части системы и методы классов на производительность.
 

fixxxer

К.О.
Партнер клуба
а, ну если все делаешь сам - то тогда юзай что тебе больше нравится.
по поводу производительности, самостоятельно произведенные в твоих условиях бенчмарки всегда ценнее, чем абстрактные тесты, но понятно, что максимальная производительность у native php и extensions.
 

Nelius

кипарис во дворе
fixxxer
Спасибо.
Вообще информации в нете достаточно и читать я не ленюсь. Просто всегда дергаюсь между удобством и производительностью, согласитесь часто это бывают частично взаимоисключающие вещи. Тяга к золотой середине заставляет рынь носом землю и мучать людей распросами)))
 

MiksIr

miksir@home:~$
Автор оригинала: Фaнaт
вообще-то, это довольно редкий случай, когда само одержимое шаблона должно как-то обрабатываться. или я ошибаюсь?
Возможно... но пожалуйста, я привел пример то реальный... ;) Причем, у меня он не единственный, особо благодоря тому, что эти блоки могут крутиться в цикле - зависит от плагина.

Автор оригинала: fixxxer
красиво - вынести в отдельный файл и обрабатывать хелпером:)
Ужас ;) в отдельный файл - некрасиво ;)

triumvirat, я ж специально написал - текст это нефига не переменная. Текст - это кусок шаблона.

A1x, ну да.. смарти именно в что-то подобное и парсит блоки, когда компилит шаблоны. Но... не красиво ;)

fixxxer, первый раз слышу, что "шаблонизатор" придумал котеров. Уж, в нелюбви к нему, может такие заслуги не будем приписывать, а то договоримся, что смарти написало тайное сообщество, во глове которого еще более тайно стоял ОН ;)
 

MiksIr

miksir@home:~$
Афигеть... текст внутри шаблона - надуманная ситуация... куда доводит злоупотребления базой то, а....

А уж то, что текст может быть куском HTML-я... и подумать невозможно - откуда в шаблоне HTML.

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

Да, я переписывал несколько наших smarty шаблонов на php - научить view работать с такими шаблонами не сложно. Читабельность (восприятие шаблона) стала хуже... субъективно - хуже, при том, что это не кем-то писанный шаблон, а мной. Для меня это аргумент. Если для вас нет, а вы руководствуетесь правилом "да ну нафиг", то ради бога. Никаких весомых преимуществ по сравнению с шаблонизатором, который умеет компилировать свои шаблоны - native php не дает.
 

fixxxer

К.О.
Партнер клуба
fixxxer, первый раз слышу, что "шаблонизатор" придумал котеров. Уж, в нелюбви к нему, может такие заслуги не будем приписывать, а то договоримся, что смарти написало тайное сообщество, во глове которого еще более тайно стоял ОН ;)
не стоит путать с "template engine". такой "перевод" до него я не встречал

-~{}~ 11.09.08 20:21:

MiksIr
может быть все, что угодно, но ты,кажется, почему-то до сих пор считаешь, что presentation logic и код шаблона обязательно находятся вместе =)
 

MiksIr

miksir@home:~$
fixxxer, нет, не до сих пор, а с некоторых пор ;)
А ты к чему это? Какое отношение это имеет к вопросу - писать все на голом пхп или использовать шаблонизатор? Хелперы и там и там есть.

-~{}~ 11.09.08 20:43:

не стоит путать с "template engine". такой "перевод" до него я не встречал
А как бы ты перевел? ;)
 

Духовность™

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

Если же речь идет о "тексте HTML", то это также весьма надуманная ситуация. Верите-нет, но я не представляю, что ещё можно делать с HTML, кроме вырезания символов новой строки посредством метки {strip}, аналог которой элементарно реализуется с помощью PHP, с помощью функций ob_*
 
Сверху