PEEL Shopping
Open source ecommerce : PEEL Shopping
MethodCall.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of Twig.
5  *
6  * (c) 2012 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 __construct(Twig_Node_Expression $node, $method, Twig_Node_Expression_Array $arguments, $lineno)
14  {
15  parent::__construct(array('node' => $node, 'arguments' => $arguments), array('method' => $method, 'safe' => false), $lineno);
16 
17  if ($node instanceof Twig_Node_Expression_Name) {
18  $node->setAttribute('always_defined', true);
19  }
20  }
21 
22  public function compile(Twig_Compiler $compiler)
23  {
24  $compiler
25  ->subcompile($this->getNode('node'))
26  ->raw('->')
27  ->raw($this->getAttribute('method'))
28  ->raw('(')
29  ;
30  $first = true;
31  foreach ($this->getNode('arguments')->getKeyValuePairs() as $pair) {
32  if (!$first) {
33  $compiler->raw(', ');
34  }
35  $first = false;
36 
37  $compiler->subcompile($pair['value']);
38  }
39  $compiler->raw(')');
40  }
41 }
compile(Twig_Compiler $compiler)
Compiles the node to PHP.
Definition: MethodCall.php:22
Compiles a node to PHP code.
Definition: Compiler.php:18
getAttribute($name)
Gets an attribute.
Definition: Node.php:138
$lineno
Definition: Node.php:22
Abstract class for all nodes that represents an expression.
Definition: Expression.php:18
setAttribute($name, $value)
Sets an attribute.
Definition: Node.php:153
__construct(Twig_Node_Expression $node, $method, Twig_Node_Expression_Array $arguments, $lineno)
Definition: MethodCall.php:13
subcompile(Twig_NodeInterface $node, $raw=true)
Definition: Compiler.php:91
raw($string)
Adds a raw string to the compiled code.
Definition: Compiler.php:109
getNode($name)
Gets a node by name.
Definition: Node.php:187

This documentation for Open ecommerce PEEL Shopping and PEEL.fr has been generated by Doxygen on Thu Oct 15 2015 14:41:18 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.