public function Twig_Node_Expression_Binary_EndsWith::compile in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php \Twig_Node_Expression_Binary_EndsWith::compile()
Compiles the node to PHP.
Parameters
Twig_Compiler $compiler A Twig_Compiler instance:
Overrides Twig_Node_Expression_Binary::compile
File
- vendor/
twig/ twig/ lib/ Twig/ Node/ Expression/ Binary/ EndsWith.php, line 13
Class
Code
public function compile(Twig_Compiler $compiler) {
$left = $compiler
->getVarName();
$right = $compiler
->getVarName();
$compiler
->raw(sprintf('(is_string($%s = ', $left))
->subcompile($this
->getNode('left'))
->raw(sprintf(') && is_string($%s = ', $right))
->subcompile($this
->getNode('right'))
->raw(sprintf(') && (\'\' === $%2$s || $%2$s === substr($%1$s, -strlen($%2$s))))', $left, $right));
}