/** * @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; }
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); } }
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); }
public function setEnvironment(Environment $environment) { $this->environment = $environment; $this->autofilter = $environment->getOption('autofilter'); $this->defaultAutofilterStrategy = $environment->getOption('default_autofilter_strategy'); }