d1e9a5a7fa4779f3f7f3acdfe49d3a3c91682cdc
[yaffs-website] / vendor / twig / twig / lib / Twig / Node / Expression / Binary / StartsWith.php
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  */
11 class Twig_Node_Expression_Binary_StartsWith extends Twig_Node_Expression_Binary
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 || 0 === strpos($%1$s, $%2$s)))', $left, $right))
23         ;
24     }
25
26     public function operator(Twig_Compiler $compiler)
27     {
28         return $compiler->raw('');
29     }
30 }