Example #1
0
 /**
  * @param string $template
  * @return string
  */
 public function parse($template)
 {
     $view_file = $this->_view->getViewPath() . '/' . ltrim($template, '/');
     if (!is_file($view_file)) {
         throw new CompileException('view file is not exists:' . $template);
     }
     $content = file_get_contents($view_file);
     foreach (self::$_rules as $pattern => $handler) {
         $content = preg_replace_callback($pattern, function ($matches) use($handler) {
             return $this->_handle($handler, $matches);
         }, $content);
     }
     return $content;
 }