parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Sergey M. 28.05.2006 14:15

я посмотрел внимательнее, у меня боольшими получаются только обработчики объектов, а для вывода большинства блоков достаточно простейшего
<$block.name>$block.body</$block.name>
пожалуй воспользуюсь вариантом с одинаковыми именами классов, он мне давно нравится, а обработчики блоков встрою в обработчик объекта, благо много места они не занимают.

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

Вариант с выносом методов в отдельный класс и последующим подключением через ^use[] видится мне каким-то странным извращением, по стилю схожим с процессингом конструктора объекта, который я приводил в предыдущем посте. По моему мнению для компиляции обработчика должно быть достаточно одной остановки (один ^use[] или один ^process{}), допускаю разве что в порядке исключения, когда все обработчики нормальные а один большой.

Вариант с компилированием в дополнительный empty:CLASS тоже имеет свои минусы - при кешировании скомпилированных обработчиков и повторном вызове обработчика, скомпиленного в самом начале, в нем могут случиться чужие перезаписанные методы. Можно, конечно, не кешировать, но это уже не то...