Как сделать аналог Blitz::fetch для PHP-native шблона ?

pilot911

Новичок
Автор оригинала: stanlee
Ребят, а чем закончилось все?
Тоже интересует решение под зендовый фрейм
пытаюсь пока но как то не так
я это сделал так:

допустим, шаблон такой

PHP:
{{BLOCK A}}

{{$hello}}

Я люблю 

     {{BLOCK B}}
          PHP!
     {{END}}

{{END}}
парсим последовательно шаблон

код класса для конкретного шаблона примерно такой (генерируется автоматически)

(Blitz_somehash - берется md5 от содержимого шаблона)

PHP:
class Blitz_somehash {

     /*
          при парсинге шаблона сюда помещаем массив вида Путь->функция
          array(
               'A'=>'getBlockA'
               'A/B'=>'getBlockAB'
          )
         
          на самом деле getBlockA и getBlockAB могут быть вообще любыми случайными символами, тут показал чисто для наглядности
     */
     protected $block = array(); 

     protected function getBlockA($markers=array()) { 
          return $this->getMarkerValue('hello', $markers).'Я люблю '.$this->getBlockAB($markers['A']);
     }

     protected function getBlockAB($markers=array()) { 
          return 'PHP!';
     }

     public function fetch($path='/', $markers=array()) { 
          $function_name = $this->block[$path];

          return $this->$function_name($markers);
     }

}
 

newARTix

Новичок
stanlee
как я уже сказал, пока такой задачи у меня не было и поэтому практический пример я не могу привести. А любой другой будет искусственным, "чтобы было", а это заранее никому не нужно. Так как у всех свои тараканы в архитектуре. Лень опять же :) В чем проблема использовать все описанные выше _родные_ способы?
 
Сверху