Программирование > Теория, алгоритмы и стандарты
Работа с шаблонами
Phoinix:
Интересно услышать мнение других программистов по поводу реализации решения.
Статья...
Макс:
Советую посмотреть сначало готовые решения, а потом уже создавать свой велосипед.
ИМХО наиболее удачная реализация шаблонов (не считая XSLT) с точки зрения построения самих шаблонов это - pear::html::template::sigma (очень напомниает phplib::template) - это все на пхп (чесно говоря похожих по организации шаблонов - на перл не встречал)
ИМХО не очень удобно верстать:
%npp%
%name_goods%
%price_goods%
Tronyx:
--- Цитировать ---Phoinix:
Интересно услышать мнение других программистов по поводу реализации решения.
--- Конец цитаты ---
ИМХО Плохо и неудобно.
1. Зачем делать блоки такими неудобными? Куча комментариев с какими-то циферками... Разве нельзя сделать хотябы так:{block:some_name}...{/block:some_name}
2. Обработка шаблона это отдельный разговор... Она должна проходить абстрактно, а у тебя всё сделано под конкретные значения.
Про сам код я не говорю, я пхпшник
Phoinix:
Макс
--- Цитировать ---
ИМХО не очень удобно верстать:
--- Конец цитаты ---
А в чем неудобство-то? Web-мастер просто не трогает все что между % и все. Наши web-мастера, ничего не понимающие в Perl особых проблем при верстке не испытывали...
Tronyx
--- Цитировать ---
Зачем делать блоки такими неудобными? Куча комментариев с какими-то циферками... Разве нельзя сделать хотябы так:
{block:some_name}...{/block:some_name}
--- Конец цитаты ---
Можно, но я же написал в статье почему так не делаем...
--- Цитировать ---Почему мы поставили комментарии напротив каждой строки, а не, скажем, просто метки начала и конца блока? Да потому, что в случае вывода строки списка номеров страниц, нам требуется «выкусить» часть блока, а потом, после обработки, вставить обратно, нам бы пришлось этот блок разбивать не на 3 части а на 4 (начало блока, текущая страница, ссылка на другую страницу, конец блока).
--- Конец цитаты ---
Вся загвоздка из-за блоков вложенных в блоки...
--- Цитировать ---2. Обработка шаблона это отдельный разговор... Она должна проходить абстрактно, а у тебя всё сделано под конкретные значения
--- Конец цитаты ---
IMHO если обработку делать абстрактно, то раздувается код, и потом я использую шаблоны под конкретные задачи, соответственно я и внедряю в него конкретные значения...
Tronyx:
--- Цитировать ---Phoinix:
IMHO если обработку делать абстрактно, то раздувается код, и потом я использую шаблоны под конкретные задачи, соответственно я и внедряю в него конкретные значения...
--- Конец цитаты ---
Код будет как раз таки меньше и сможет обрабатывать все шаблоны, а тебе приходится каждый раз заново писать новый обработчик, это не логично + частично теряется смысл использования шаблонов.
--- Цитировать ---Phoinix:
не на 3 части а на 4
--- Конец цитаты ---
Это не проблема. Проблема это неудобные блоки. ИМХО.
--- Цитировать ---Phoinix:
Вся загвоздка из-за блоков вложенных в блоки...
--- Конец цитаты ---
А ты сделай неограниченую вложеность и не будет ни какой загвоздки.
Навигация
Перейти к полной версии