Exemplo n.º 1
0
 /**
  * @return array
  */
 private function getDelimiterPatterns()
 {
     $delimiterPatterns = [];
     foreach (self::$delimiters as $name => $delimiters) {
         list($start, $end) = $delimiters;
         $delimiterPatterns[$name] = [preg_quote($start, '/'), preg_quote($end, '/')];
     }
     if (self::$environment->getOption('tag_consumes_newline')) {
         $delimiterPatterns['tag'][1] .= '\\n?';
     }
     $delimiterPatterns['whitespace_control_tag'] = ['\\s*' . $delimiterPatterns['whitespace_control_tag'][0], $delimiterPatterns['whitespace_control_tag'][1] . '\\s*'];
     return $delimiterPatterns;
 }
Exemplo n.º 2
0
 public function __construct(Environment $env, $templateName)
 {
     $this->templateName = $templateName;
     $this->baseClass = $env->getOption('template_base_class');
     $className = $env->getTemplateClassName($templateName);
     $classNameOffset = strrpos($className, '\\');
     if ($classNameOffset === false) {
         $this->namespace = '';
         $this->className = $className;
     } else {
         $this->namespace = substr($className, 0, $classNameOffset);
         $this->className = substr($className, $classNameOffset + 1);
     }
 }
Exemplo n.º 3
0
function template_function_filter(Environment $environment, $data, $for = 'html')
{
    if (!is_string($data)) {
        return $data;
    }
    if (!$environment->hasFunction('filter_' . $for)) {
        $for = $environment->getOption('default_autofilter_strategy');
    }
    return $environment->getFunction('filter_' . $for)->call($data);
}
Exemplo n.º 4
0
 public function setEnvironment(Environment $environment)
 {
     $this->environment = $environment;
     $this->autofilter = $environment->getOption('autofilter');
     $this->defaultAutofilterStrategy = $environment->getOption('default_autofilter_strategy');
 }