ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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 
32 class_alias('Twig_Node_Expression_Binary_EndsWith', 'Twig\Node\Expression\Binary\EndsWithBinary', false);
raw($string)
Adds a raw string to the compiled code.
Definition: Compiler.php:112
operator(Twig_Compiler $compiler)
Definition: EndsWith.php:26
getNode($name)
Definition: Node.php:186
compile(Twig_Compiler $compiler)
Compiles the node to PHP.
Definition: EndsWith.php:13