Автор Тема: Шаблоны  (Прочитано 11455 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Шаблоны
« : 08 Января 2002, 11:31:32 »
Класс написал для работы с шаблонами (очередной :)) на php
http://eugeny.com/programmer/scripts/template.zip
рез-т можно отобразить с помощью функции eval, либо просто вывести

Ваше мнение интересно.

взял за основу работу с шаблонами в XMB (и не только), но там они хранятся в БД, а я сделал в файлах (что намного удобней).
ИМХО мне очень такой способ понравился. примерчик маленький есть.

класс не тестировал, так что ошибки могут быть.
« Последнее редактирование: 20 Января 2002, 11:47:23 от Britva »
Евгений aka Razor,

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Шаблоны
« Ответ #1 : 08 Января 2002, 11:49:24 »
Цитировать
взял за основу работу с шаблонами в XMB

А в чем там новшество? Я не ставил и не колупал XMB, а суть знать интересно... :)
The documentations is your friend

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Шаблоны
« Ответ #2 : 08 Января 2002, 15:09:56 »
Посмотрел щас wbb, там такая же система шаблонов. только уже с файлами :) как у меня :)
работает все на основе eval.

а в XMB они хранятся в БД, что имхо очень неудобно. но зато у него есть lang-файл :)

А так, идея не оригинальна, я просто очень хотел чтобы можно было такое использовать. Кстати, ни один класс/библиотека шаблонов не использует eval (по крайней мере я не видел), везде рег.выражения для замены {}, <##> ...
« Последнее редактирование: 08 Января 2002, 15:21:27 от Britva »
Евгений aka Razor,

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Шаблоны
« Ответ #3 : 08 Января 2002, 16:49:21 »
Значит нужно смотреть...
В wbb стандарт-шаблоны. Новшеств нет.
The documentations is your friend

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
эх
« Ответ #4 : 08 Января 2002, 17:37:54 »
eval для разборки шаблонов - не есть хорошо, впрочем, я тебе уже свое мнение по этому поводу сказал приватно ;)
Может все таки попробовать сделать по максиму регулярными выражениями - быстрее и безопаснее.
Лично мне интеллектуальность шаблонов пока требовалась лишь такая:
если что-то есть, то включаем такой-то код/контент, а это можно и через рег.выр. сделать
« Последнее редактирование: 08 Января 2002, 17:47:20 от Green Kakadu »
 в исканиях.

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Шаблоны
« Ответ #5 : 08 Января 2002, 19:09:35 »
Да, но почему тогда такие форумы, как wbb/xmb/vB летают. Они же ведь используют везде eval.
Евгений aka Razor,

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Шаблоны
« Ответ #6 : 08 Января 2002, 21:18:19 »
Britva
Эти форумы не могут летать :) Не знаю как WBB, а два оставшихся юзают в среднем по 20 запросов в базу при создании страницы, так что для них парсинг темплейтов - едрунда.

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

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Шаблоны
« Ответ #7 : 08 Января 2002, 22:05:47 »
Stek
WBB - http://wbbhacks.com, http://www.script.com.ua, http://forum.xonix.ru, http://board.ee

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

согласен - безопаснее :), но eval удобнее для программиста :)
« Последнее редактирование: 08 Января 2002, 22:11:27 от Britva »
Евгений aka Razor,

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Шаблоны
« Ответ #8 : 09 Января 2002, 00:57:20 »
Цитировать

Кстати, думаю стардартные ереги безопаснее и с мой точки зрения более удобны для дизайнера.
Просто regexp-ы медленные. Например по моим тестам этот класс раз в 5 быстрее Smarty (правда это тест на простейшем темплейте и на крупных шаблонах наверное результаты будут отличаться)

По-моему более правильно поступили авторы EasyTemplate - использовали простые строковые параметры (str_replace(), strtr()) - в результате их шаблон работает очень быстро и безопасно но слабая функциональность - хотя без нее часто можно обойтись.


Цитировать
согласен - безопаснее , но eval удобнее для программиста
Я выбираю безопасность :)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Шаблоны
« Ответ #9 : 09 Января 2002, 01:15:03 »
Цитировать
Я выбираю безопасность :)

Я тоже, но не думаю, что дизайнер все время будет мечтать о крушении сайта :)

кстати, интересная статейка насчет оптимизации и времени выполнения: http://php.spb.ru/php/speed.html
Евгений aka Razor,

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Шаблоны
« Ответ #10 : 19 Января 2002, 02:24:19 »
Сделал более новую версию + редактор этих шаблонов и пример использования.
http://eugeny.com/programmer/scripts/template.zip

описания пока нет, скоро напишу.
Евгений aka Razor,

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Шаблоны
« Ответ #11 : 08 Февраля 2002, 21:56:09 »
Поднимаю тему :)

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

Через eval использовать не приятно.
Нашел вот http://templatepower.codocad.com/ аналог FastTemplate, но по заявкам авторов до 5 раз быстрее.

Что делать с FastTemplate - даже и не знаю.
phpBB 2 полностью на них перешли. В результате парсинг стал жрать дикое колличество ресурсов. В форуме куча криков о том, что при переходе на новую версию - сервер падает. А жалобы именно на апач, а не на MySQL как у всех остальных форумов.

Вот тут и вспомнил про этот топик.  Так елки палки, какие эе темплейты лучше при большом колличестве запросов, с учетом того что темплейт таки сложный .
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
Шаблоны
« Ответ #12 : 08 Февраля 2002, 22:00:42 »
Посмотрел систему шаблонов VB, там всё на eval.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Шаблоны
« Ответ #13 : 09 Февраля 2002, 02:37:56 »
Может easyTemplate - они не используют регулярных выражений и он даже чуть быстрее того что Britva писал.
Вроде еще Smarty все хвалят.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Шаблоны
« Ответ #14 : 09 Февраля 2002, 13:10:40 »
Мда, тяжела доля выбора.
А где почитать про easyTemplate можно ?
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28