shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

StartsWith.php (911B)


      1 <?php
      2 
      3 /*
      4  * This file is part of Twig.
      5  *
      6  * (c) 2013 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 }