/** * Constructor * * @param string $markup * @param array $tokens * @param FileSystem $fileSystem * * @throws \Liquid\LiquidException */ public function __construct($markup, array &$tokens, FileSystem $fileSystem = null) { $regex = new Regexp('/("[^"]+"|\'[^\']+\')?/'); if ($regex->match($markup)) { $this->templateName = substr($regex->matches[1], 1, strlen($regex->matches[1]) - 2); } else { throw new LiquidException("Error in tag 'extends' - Valid syntax: extends '[template name]'"); } parent::__construct($markup, $tokens, $fileSystem); }
/** * Constructor * * @param string $markup * @param array $tokens * @param FileSystem $fileSystem * * @throws \Liquid\LiquidException */ public function __construct($markup, array &$tokens, FileSystem $fileSystem = null) { $regex = new Regexp('/("[^"]+"|\'[^\']+\')(\\s+(with|for)\\s+(' . Liquid::get('QUOTED_FRAGMENT') . '+))?/'); if ($regex->match($markup)) { $this->templateName = substr($regex->matches[1], 1, strlen($regex->matches[1]) - 2); if (isset($regex->matches[1])) { $this->collection = isset($regex->matches[3]) ? $regex->matches[3] == "for" : null; $this->variable = isset($regex->matches[4]) ? $regex->matches[4] : null; } $this->extractAttributes($markup); } else { throw new LiquidException("Error in tag 'include' - Valid syntax: include '[template]' (with|for) [object|collection]"); } parent::__construct($markup, $tokens, $fileSystem); }