Новый шаблонизатор для PHP.

stellar

Guest
Новый шаблонизатор для PHP.

Пишу сюда, поскольку хочу узнать мнение гуру.

Итак, есть движок шаблонизатора, написанный на С++. Про то, что он умеет, можно посмотреть тут: http://reki.ru/products/ctpp/
Если говорить вкратце, то он полностью разделяет данные и код. Кроме того, он имеет интерфейс для программирования дополнительных пользовательских функций.

Скорость работы - очень высокая (на этом движке живут проекты с посещаемостью от 500 000 до миллиона загрузок страницы).

На данный момент готовится новая версия, в которую будет включен перловый XS модуль для работы с шаблонизатором из Perl 5.8.X.

Предполагается также, что будет написана библиотека расширения для PHP.

Теперь вопросы:
1) имеет ли смысл писать модуль для PHP ?
2) если имеет, то какую дополнительную функциональность вы хотели бы видеть у движка?

-~{}~ 10.12.04 18:06:

Дополнение.
Да, я знаю о наличии Fast Template.
Но, во-первых, в шаблонизаторе CTPP используется несколько другой подход к формированию шаблона (см. описание) и во-вторых, он является более гибким с точки зрения расширения функцональности.
 

Макс

Старожил PHPClub
Может хватит уже ?
для ПХП шаблонизаторов - как собак нерезаных.

Если сможет посоревноваться в скорости с http://php-templates.sourceforge.net то может чего и получится.

А синтаксис шаблонов по-моему нагло сперли с какого-то перлового шаблонизатора :) (с изменениями конечно)
 

stellar

Guest
Во-первых, логика не нагло сперта, а взята с разрешения и одобрения автора HTML::Template

Во-вторых, я не собираюсь обсуждать количество и качество *других* шаблонизаторов, а также саму необходимость их использования в PHP (лично для меня вопрос предельно ясен: бизнес-логику и HTML надо разделять).

Я четко и внятно спросил:
1) имеет ли смысл писать модуль для PHP ?

2) если имеет, то какую дополнительную функциональность вы хотели бы видеть у движка?
 

SiMM

Новичок
Автор оригинала: stellar
лично для меня вопрос предельно ясен: бизнес-логику и HTML надо разделять
По моему вы нифига не поняли. Ну да ладно - ваши трудности.
 

fisher

накатила суть
>>1) имеет ли смысл писать модуль для PHP ?
>>2) если имеет, то какую дополнительную функциональность
>>вы хотели бы видеть у движка?
сделайте хоть что-то, что можно было бы скачать и погонять. в противном случае разговор почти ни о чем. для тех, кому нужен синтаксический сахар и не очень важна скорость, полна горница всякого фуфела, остальные используют native php или php-templates или самописные с-extensions просто потому что остальное сосёт на хорошей нагрузке не по-детски.

>>Скорость работы - очень высокая (на этом движке живут проекты
>>с посещаемостью от 500 000 до миллиона загрузок страницы)
без бенчмактов говорить о нужности вашего проекта сложно (хотя я личтно ща то, чтоб цвели все цветы). идеальный вариант - сделать extension-wrapper к вашей библиотеке ни-о-чем-не-спрашивая и сравнить самому или дать людям погонять и сравнить. сравнивать надо _только_ с cамим php или php-templates
 

su1d

Старожил PHPClubа
stellar, почему бы и нет? сделай, если не лень.
только наверное имеет смысл сразу же делать это для РНР5:
- в виде РНР класса, от которого можно наследовать
- с поддержкой разных фишек из SPL

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

проект php_templates сейчас застыл в том состоянии, в котором он есть, и я не думаю, что в ближайшее время смогу заняться его второй версией.
так что если появится хорошее решение, сопоставимое по скорости и простоте работы (чего уж там говорить, если оно получится много лучше!), то оно всяко найдёт свою публику.
 

janom

Guest
Нет? А по-моему, потребителю всегда важно обладать наиболее широким выбором. Поэтому, смотрю на это, как на хорошую идею. Всяко лучше выбирать какой ты себе йогурт хочешь на огромном прилавке, чем жрать одну ряженку.

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

1. ДА.

Фунциональность? Так сходу не скажу, но скажу, что меня не очень привлекает в движке: синтаксис шаблонов. Блин, каждый раз когда я вижу такое вуду-заклинание -- "<TMPL_loop __CONTEXT_VARS__ __GLOBAL_VARS__ EMPLOYEE_INFO>" -- у меня рождаеться детский страх и ненависть к подчёркиваниям. Честно. Думаю пора вводить такое понятие как C.O.P. (Comfort Oriented Programming) в умы программистов and keepin' it short and simple. Peace.
 

Кром

Новичок
<TMPL_loop __CONTEXT_VARS__ __GLOBAL_VARS__ EMPLOYEE_INFO>
<TMPL_VAR NAME> - <TMPL_VAR JOB>
<TMPL_var global_param>
<TMPL_if IN_SET(NAME, "Иванов Иван")> TEST_ANY_PARAM </TMPL_if>
</TMPL_LOOP>

Без комментариев...
 

stellar

Guest
А чем, простите, так не нарвится конструкция

<TMPL_loop EMPLOYEE_INFO>
<TMPL_VAR NAME> - <TMPL_VAR JOB>
</TMPL_LOOP>

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

А касаемо того, почему это было сделано (шаблонизатор), то тут все просто: для проектов, написанных на С++, не было аналогичной библиотеки достаточной производительности.

Библиотека для PHP - это не самоцель и уж тем более не попытка изобрести велосипед.

В общем, решение следующее:
1) библоитеку я напишу и сделаю commit для в порты FreeBSD, RPM для RedHat и пакадж для Gentoo

2) Будет ей кто-либо пользоваться -- хорошо; нет -- невелика беда.

3) Что до KISS, то это великолепно, конечно. Но в мире есть не только код вперемешку с HTML, а на дворе не 2001 год. И если для проектов используются шаблонизаторы, значит, что-то в этом есть.
 

antiportal

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

SiMM

Новичок
Автор оригинала: stellar
3) Что до KISS, то это великолепно, конечно. Но в мире есть не только код вперемешку с HTML, а на дворе не 2001 год. И если для проектов используются шаблонизаторы, значит, что-то в этом есть.
Ещё раз убеждаюсь, что человек нифига не понял :(
 
Под Perl, возможно, стоит делать. HTML::Template, Text::Template, TT2. Больше шаблонизаторов толковых и нет. А все они страдают довольно невысокой производительность. Для PHP, имхо, оно трижды не нужно.
 

Фанат

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

-~{}~ 13.12.04 11:22:

Но в мире есть не только код вперемешку с HTML,
То есть, ты искренне считаешь, что вот ЭТО -
<TMPL_loop EMPLOYEE_INFO>
<TMPL_VAR NAME> - <TMPL_VAR JOB>
</TMPL_LOOP>
не код? Это HTML, наверное.
 

vitus

мимо проходил
stellar:

--------------------------------------------------------------------------------

<TMPL_loop EMPLOYEE_INFO>
<TMPL_VAR NAME> - <TMPL_VAR JOB>
</TMPL_LOOP>

--------------------------------------------------------------------------------
- это тот-же пхп, тока кривой очень :)
1) имеет ли смысл писать модуль для PHP ?
наврядли, следует писать совмещатель c++ объектов с темплетами, притом похожий на пхп.
для жабы уже есть такие, оч удобно.

janom: Когда одна ряженка, всётаки легче выбрать, а кулубнику сам добавь по вкусу :)

Фанат: вот за что люблю тебя и уважаю, так это за адекватность, когда фтыкаешь.
 

slach

Новичок
что меня не очень устраивает

шаблон в котором теги шаблона это теги... его сложнее разрабатывать дизайнеру...

мне больше нравится формат
{TEMPLATE}
и т.п.
 

BeGe

Вождь Апачей, блин (c)
Народ а может давно пора переходить на xml + xslt в шаблонах ?
 
Сверху