public function Twig_Node_Expression_Binary_StartsWith::compile in Translation template extractor 6.3
Same name and namespace in other branches
- 7.3 vendor/Twig/Node/Expression/Binary/StartsWith.php \Twig_Node_Expression_Binary_StartsWith::compile()
Compiles the node to PHP.
Parameters
Twig_Compiler $compiler A Twig_Compiler instance:
Overrides Twig_Node_Expression_Binary::compile
File
- vendor/
Twig/ Node/ Expression/ Binary/ StartsWith.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 || 0 === strpos($%1$s, $%2$s)))', $left, $right));
}