class Twig_Node_ForLoop in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/twig/twig/lib/Twig/Node/ForLoop.php \Twig_Node_ForLoop
Internal node used by the for node.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Twig_Node implements Twig_NodeInterface
- class \Twig_Node_ForLoop
Expanded class hierarchy of Twig_Node_ForLoop
File
- vendor/
twig/ twig/ lib/ Twig/ Node/ ForLoop.php, line 17
View source
class Twig_Node_ForLoop extends Twig_Node {
public function __construct($lineno, $tag = null) {
parent::__construct(array(), array(
'with_loop' => false,
'ifexpr' => false,
'else' => false,
), $lineno, $tag);
}
public function compile(Twig_Compiler $compiler) {
if ($this
->getAttribute('else')) {
$compiler
->write("\$context['_iterated'] = true;\n");
}
if ($this
->getAttribute('with_loop')) {
$compiler
->write("++\$context['loop']['index0'];\n")
->write("++\$context['loop']['index'];\n")
->write("\$context['loop']['first'] = false;\n");
if (!$this
->getAttribute('ifexpr')) {
$compiler
->write("if (isset(\$context['loop']['length'])) {\n")
->indent()
->write("--\$context['loop']['revindex0'];\n")
->write("--\$context['loop']['revindex'];\n")
->write("\$context['loop']['last'] = 0 === \$context['loop']['revindex0'];\n")
->outdent()
->write("}\n");
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Twig_Node:: |
protected | property | ||
Twig_Node:: |
protected | property | ||
Twig_Node:: |
protected | property | ||
Twig_Node:: |
protected | property | ||
Twig_Node:: |
public | function | ||
Twig_Node:: |
public | function | Gets an attribute value by name. | |
Twig_Node:: |
public | function | ||
Twig_Node:: |
public | function |
Overrides Twig_NodeInterface:: |
|
Twig_Node:: |
public | function | Gets a node by name. | |
Twig_Node:: |
public | function |
Overrides Twig_NodeInterface:: |
|
Twig_Node:: |
public | function | Returns true if the attribute is defined. | |
Twig_Node:: |
public | function | Returns true if the node with the given name exists. | |
Twig_Node:: |
public | function | Removes an attribute by name. | |
Twig_Node:: |
public | function | Removes a node by name. | |
Twig_Node:: |
public | function | Sets an attribute by name to a value. | |
Twig_Node:: |
public | function | Sets a node. | |
Twig_Node:: |
public | function | ||
Twig_Node:: |
public | function | ||
Twig_Node_ForLoop:: |
public | function |
Compiles the node to PHP. Overrides Twig_Node:: |
|
Twig_Node_ForLoop:: |
public | function |
Constructor. Overrides Twig_Node:: |