Filter.php in Zircon Profile 8.0
Same filename in this branch
- 8.0 vendor/twig/twig/lib/Twig/Filter.php
- 8.0 vendor/phpunit/phpunit/src/Util/Filter.php
- 8.0 vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
- 8.0 core/modules/filter/src/Annotation/Filter.php
- 8.0 vendor/twig/twig/lib/Twig/TokenParser/Filter.php
- 8.0 vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
Same filename and directory in other branches
File
vendor/twig/twig/lib/Twig/TokenParser/Filter.phpView source
<?php
/*
* This file is part of Twig.
*
* (c) 2009 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Filters a section of a template by applying filters.
*
* <pre>
* {% filter upper %}
* This text becomes uppercase
* {% endfilter %}
* </pre>
*/
class Twig_TokenParser_Filter extends Twig_TokenParser {
public function parse(Twig_Token $token) {
$name = $this->parser
->getVarName();
$ref = new Twig_Node_Expression_BlockReference(new Twig_Node_Expression_Constant($name, $token
->getLine()), true, $token
->getLine(), $this
->getTag());
$filter = $this->parser
->getExpressionParser()
->parseFilterExpressionRaw($ref, $this
->getTag());
$this->parser
->getStream()
->expect(Twig_Token::BLOCK_END_TYPE);
$body = $this->parser
->subparse(array(
$this,
'decideBlockEnd',
), true);
$this->parser
->getStream()
->expect(Twig_Token::BLOCK_END_TYPE);
$block = new Twig_Node_Block($name, $body, $token
->getLine());
$this->parser
->setBlock($name, $block);
return new Twig_Node_Print($filter, $token
->getLine(), $this
->getTag());
}
public function decideBlockEnd(Twig_Token $token) {
return $token
->test('endfilter');
}
public function getTag() {
return 'filter';
}
}
Classes
Name | Description |
---|---|
Twig_TokenParser_Filter | Filters a section of a template by applying filters. |