php_templates 1.2 с документацией

su1d

Старожил PHPClubа
php_templates 1.2 с документацией

собсно сабж.
вот здесь: http://php-templates.sourceforge.net/

движок предельно простой, но очень быстрый: по предварительным примитивным тестам обрабатывает шаблоны быстрее, чем РНР. более серьёзное тестирование - позже.

документашка пока на английском, скоро напишу на русском.

успехов
 

confguru

ExAdmin
Команда форума
>> обрабатывает шаблоны быстрее, чем РНР
Самому то не смешно?
 

si

Administrator
А почему должно быть смешло ?

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

А уважаемый товарищ suid не мало труда и время положил на изучения алгоритмов и оптимизацию своего движка, так что я ему почему-то верю.
 

Sirius

PHP+MySQL=LOVE
А этот темплейт умеет работать с условными тегами. Сейчас объясню:
Чтобы всё что находится между определёнными темлейтовскими тегами или заполнялось вместо {variable} - или просто экстрактилось из темплейта, чтобы в окончательном документе не отображалось вообще!
Это называется у некоторых <optional tags>

Ну ВЫ меня поняли?:)
 

Crazy

Developer
Автор оригинала: Sirius
Ну ВЫ меня поняли?:)
Нет.

Ты первое предложение своего сообщения хотел закончить именно точкой или все же вопросительным знаком?
 

jackass

Guest
движок предельно простой, но очень быстрый:
Движок хороший, никакого сложнонаваоченного синтаксиса (как у Смарти), лично мне нравится даже гораздо больше XML-XSL....
Но ради бога, su1d, исправь баг с лишним повторением контекста!

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

jackass

Guest
BUGS:

потестил версию 1.2 под win32

попытка сделать tmpl_unset только что присвоенному значению приводит к "Undefined tag/context "/content/page_text" ",

а попытка tmpl_unset для проитерированного контекста вообще валит Апач...
 

su1d

Старожил PHPClubа
2admin: это был лишь камень в огород тех, кто ратует за использование самого РНР в качестве движка шаблонов с полным навороченным синтаксисом. парочка примитивных (я не зря повторяю это слово из треда в тред) тестов показала, что РНР давно уже переродился в тяжеловесный язык программирования, и не стоит его напрягать по мелочам.

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

2jackass: угу, баг.. я на сорсфордже в форуме уже отвечал по этому поводу. в 1.3 поправлю. чувствую, что выйдет она на днях, т.к. я ещё несколько мелких багов уже сам нашёл.
по поводу tmpl_unset() - кинь в меня кодом, плиз. это - последняя функция, что я добавил в АПИ, и, возможно, она не очень корректно пока работает.

2kvn: у меня была точно такая же ошибка, когда РНР 4.2.0 вышел, и я попробовал собрать его на красной шапке 7.0. в итоге оказалось, что надо было autoconf обновлять (или ещё что-то, чего я сейчас уже не помню). бинарник для 4.2.2 я собирал вот на этом:
- Linux 2.4.9-6
- gcc-2.96-85
- autoconf-2.13-10
- automake-1.4-8
- libtool-1.3.5-8
видно было только первые 4 строчки типа "aclocal: macro `AC_...", но без ошибок, и всё нормально собралось.
 

kvn

programmer
: у меня была точно такая же ошибка, когда РНР 4.2.0 вышел, и я попробовал собрать его на красной шапке 7.0. в итоге оказалось, что надо было autoconf обновлять (или ещё что-то, чего я сейчас уже не помню). бинарник для 4.2.2 я собирал вот на этом:
- Linux 2.4.9-6
- gcc-2.96-85
- autoconf-2.13-10
- automake-1.4-8
- libtool-1.3.5-8
видно было только первые 4 строчки типа "aclocal: macro `AC_...", но без ошибок, и всё нормально собралось.
ок, подожду 4.7-RELEASE, там будут свежие тулзени...
BTW: Кто-то там обещал OO API, или нет и не будет?
 

confguru

ExAdmin
Команда форума
2su1d: Когда писал - не знал что у тебя на С :))
Но мало кто возьмется подлючать твой плагин :(( из хостеров...
Надо вливаться в основное php-дерево
 

su1d

Старожил PHPClubа
2admin: большинство платных хостеров (например тот, у которого я "живу") позволяют использовать dl() совершенно без проблем.

2kvn: хочешь, чтобы всё ещё и в объекты было "завёрнуто"? сделать-то вроде не проблема, но оно нам надо?
 

jackass

Guest
по поводу tmpl_unset() - кинь в меня кодом, плиз.
Кинул через твой аккаунт на sourceforge (получилось длинновато, но на коротких примерах ошибки не смог добиться)
 

kvn

programmer
2kvn: хочешь, чтобы всё ещё и в объекты было "завёрнуто"? сделать-то вроде не проблема, но оно нам надо?
Ессно!
и желательно, чтобы АПИ у него был с чем-нибудь схожим compatible..
Чтобы если съезжать на другой движок, то чтоб не переделывать все снуля.

По поводу хостеров и всего, ты не пробовал поговорить с [email protected], там как раз PECL/* - это екстеншены для ПХП на Ц..
Думаю, что они не против будут иметь такой екстеншн, да и мы все, только вот с объектами было бы приятней...:)

А так вообще интересная шняга, вот только не удалось пока посотреть ...:) после первого октября...
 

jackass

Guest
Да, шняга супер,
темплата смахивает на xslt, только вместо того чтобы ее скрещивать с xml достаточно запихнуть все данные в один массив, или кусками - кому как удобнее.
 

Sirius

PHP+MySQL=LOVE
Неа - мне надо на пхп - чтобы я мог засунуть это в свой пакет для клиентов - не у всех есть ум ставить плагины!

Есть ли такой темплейтный генератор - только не навороченный, и максимально быстрый, с использованием:
1. Обычных вставок
2. Циклов
3. Необязательных фрагментов темплейта

Мне больше не надо:)
 

su1d

Старожил PHPClubа
Автор оригинала: Sirius
Неа - мне надо на пхп - чтобы я мог засунуть это в свой пакет для клиентов - не у всех есть ум ставить плагины!
PHP:
if(!extension_loaded('templates')) dl('php_templates.so');
 

Максим Деркачев

Guest
Только dl сплошь и рядом запрещен у хостеров.
 

su1d

Старожил PHPClubа
У халявных - да, но использовать их услуги - себя не уважать (да и посетителей твоего сайта тоже).
Нормальный платный (даже по минимуму - 10 денег в месяц)хостер всё это позволяет совершенно без проблем.
 
Сверху