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

Nelius

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

Специально создаю тему в оффтопике так как знаю какие чувства возникнут у многих после одного прочтения ее заголовка :)

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

Заранее спасибо!
 

Nelius

кипарис во дворе
Чет я потыкался поискал, посмотрел на эти шаблонизаторы и подумал... зря я это сделал ;)
В общем Blitz с виду ниче но оно не все на пхп наскока я знаю)
А мне пока такого добра не надобно!)

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

P.S. Смарти - большой и грузный монстр. Он довольно удобен и с огромным функционалом, но если мне большая часть его возможностей не нужна, то я считаю что нет смысла лишний раз перегружать систему в целом грузными компонентами.
 

Духовность™

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

Быстро. Удобно. Гибко. Доходчиво и понятно. Любому программисту и верстальщику. Полное отделение логики приложения от логики представления. Масса возможностей.

Вот пример шаблона: http://phpclub.ru/paste/index.php?show=2143

У верстальщика никаких проблем не возникает.
 

Nelius

кипарис во дворе
triumvirat
Ваш верстальщик монстр!)
Спасибо, я тоже юзаю. Согласен что гибко и быстро, но на счет удобства разработки и верстки вопрос спорный.
 

Фанат

oncle terrible
Команда форума
Nelius
Ваш же верстальщик юзает смарти. А разница не принципиальная.
 

Nelius

кипарис во дворе
Не не, мой верстальщик never use smarty!)
Я смарти только в своих проектах использовал пару раз и верстал сам.
Потом написал шаблонизатор простенький, оказалось что его достаточно.
Ну а там верстальшику было очень просто:

{News.date} - В общем тут все ясно, любые данные будут вставлены

{repeat id="newsblock"}Тут что угодно{/repeat} - Типа цикл

{include="footer.tpl"} - Подключить часть шаблона

Всего 3 конструкции) Хватало для любых сайтов. И верстальщик въезжал в курс дела за 5 минут.
Единственное что формы генерил прям из пхп с разными обертками и изменением дизайна при помощи классов.

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

Фанат

oncle terrible
Команда форума
ну и ничем это не отличается принципиально от того, что написал
triumvirat
 

Nelius

кипарис во дворе
Принципиально нет. Я вообще согласен что использовать чистый пхп в шаблонах очень даже хорошо! И ни капли с этим не спорю. Просто пытаюсь найти возможность облегчить немножко восприятие кода верстальщиком. Чтобы он будучи не особо знакомым с программированием смог сделать шаблон. Может это и утопично, но я пробую, пробую... :)
 

Фанат

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

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

учитывая же, что сам он все равно шаблон не пишет, а это делает за него программист, то ему тем более пофигу, какие там конструкции.
 

Nelius

кипарис во дворе
*****
Спасибо за совет!
Наверное как альтернатива использовать и примитивный синтаксис шаблонный и ПХП, но смысла в этом тоже наверное нет... в общем я озадачился... :)

Если Вам не сложно подскажите пожалуйста в соседней теме про файловую структуру. Ваши комментарии всегда по делу, наталкивают на размышления в правильную сторону.
 

MiksIr

miksir@home:~$
Задача любого шаблонизатора - повышение читабельности, а не удобство для верстальщика.
С этой точки зрения читабельность смарти выше, чем native PHP даже в простых примерах, а в сложных читабельности помогают плагины.
{typograf}
Большой текст
{/typograf}
Как записать такое на PHP? Насколько это будет читабельнее?

В smary vs свое я выбрал smarty. И это при том, что очень не люблю использование в проекте сторонних библиотек, ибо это зависимость от чужого может обернуться серьезными потерями времени. К слову, это было и со смарти, но все же в результате мы в выигрыше, ибо затраты на разработку "своего" с прохождением по всем граблям были бы несоизмеримо выше, чем потрачено времени на патчи смарти.
 

Nelius

кипарис во дворе
MiksIr
Вы согласны что повышение читабельности повышает удобство редактирования шаблона для верстальщика?)
Да, безусловно читать кашу из пхп и хтмл вперемешку удовольствия мало, не удобно, поэтому я и пытаюсь найти выход собственно говоря.

{typograf}
Большой текст
{/typograf}

пример не особо удачный

<span class="bigtext">Большой текст</span>

Если надо динамически менять размер, тогда пример катит, я бы у себя тк сделал
<span class="{NewsBlock.textsize}text">Текст разного размера</span>
 

MiksIr

miksir@home:~$
Читабельность повышает удобство работы... в том числе и для верстальщика. Но не для верстки, скорее, а в большей мере для чтения этого шаблона потом.

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

Почему не удачный? tipograf - это плагин смарти, который вызвает класс типографа, передает туда текст и получает совсем другой, с замененными кавычками, неразрывными пробелами и т.д.
 

AmdY

Пью пиво
Команда форума
Nelius
ты просто не понял что делает блок {typograf} :)

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

MiksIr

miksir@home:~$
По крайней мере смарти мапит шаблоны в тот же самый native php, так что с производительностью тут все оки.

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

Nelius

кипарис во дворе
Да, прошу прощения, так как глубоко не рыл Смарти (не использовал и полофины функционала, да и давно перестал использовать) так что недопонял смысл блока {typograf}.

Спасибо за подсказки, буду думать.
Многие используют пхп в шаблонах как Drupal или Wordpress но мне честно говоря было не очень удобно работать с ними. Хоть и проблем не возникло вовсе, просто удобства нет.
 
Сверху