Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Правильно ли я делаю (шаблонизатор)?

Сообщения:  [1-4] 

 
 автор: cheops   (21.11.2009 в 12:29)   письмо автору
 
   для: DEM   (21.11.2009 в 08:04)
 

Лучше потестировать на большом объеме данных, если честно затрудняюсь на вскидку сказать.

  Ответить  
 
 автор: DEM   (21.11.2009 в 08:04)   письмо автору
 
   для: cheops   (19.11.2009 в 15:43)
 

а то, что я прохожу сначало все переменные (хранятся в массиве)в цикле и потом смотрю с помощью рег.выражений:
#\{\$'.$parametr.'(.*)(\|{1})(.+)\}#
Где $parametr - название переменой.

Или лучше сделать #\{\$(.*)(\|{1})(.+)\}# и уже потом смотреть, есть ли такая переменная и уже обрабатывать? Что будет быстрее?

  Ответить  
 
 автор: cheops   (19.11.2009 в 15:43)   письмо автору
 
   для: DEM   (16.11.2009 в 04:19)
 

Нет eval() - это плохая идея, вы все делаете правильно.

  Ответить  
 
 автор: DEM   (16.11.2009 в 04:19)   письмо автору
 
 

Проблема вот в чём.
Достал из строки элементы вида {$text|filter}. И теперь смотрю, если filter равен, к примеру, toupper, то заменяю {$text|filter} на strtoupper($text); в большом регистре. У меня есть список всех фильтров в массиве и я просто прохожу по всем элементам которые подходят под моё рег.выражение ({$varname|filter}) и, если такой фильтр у меня есть я заменяю эту переменную на изменённую с помощью str_replace();
Правильный ли мой подход или это делается как-то по другому? К примеру функция будет иметь ввиду, как и в РНР, а потом строка обрабатывается этим фильтром с помощью eval() (который тормознутый)?

ЗЫ. да-да, пишу свой шаблонизатор :)

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования