ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
EndsWith.php
Go to the documentation of this file.
1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
12{
13 public function compile(Twig_Compiler $compiler)
14 {
15 $left = $compiler->getVarName();
16 $right = $compiler->getVarName();
17 $compiler
18 ->raw(sprintf('(is_string($%s = ', $left))
19 ->subcompile($this->getNode('left'))
20 ->raw(sprintf(') && is_string($%s = ', $right))
21 ->subcompile($this->getNode('right'))
22 ->raw(sprintf(') && (\'\' === $%2$s || $%2$s === substr($%1$s, -strlen($%2$s))))', $left, $right))
23 ;
24 }
25
26 public function operator(Twig_Compiler $compiler)
27 {
28 return $compiler->raw('');
29 }
30}
31
32class_alias('Twig_Node_Expression_Binary_EndsWith', 'Twig\Node\Expression\Binary\EndsWithBinary', false);
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
Compiles a node to PHP code.
Definition: Compiler.php:19
raw($string)
Adds a raw string to the compiled code.
Definition: Compiler.php:112
operator(Twig_Compiler $compiler)
Definition: EndsWith.php:26
compile(Twig_Compiler $compiler)
Compiles the node to PHP.
Definition: EndsWith.php:13
getNode($name)
Definition: Node.php:186