\Twig_NodeVisitor_Optimizer
Twig_NodeVisitor_Optimizer tries to optimizes the AST.
This visitor is always the last registered one.
You can configure which optimizations you want to activate via the
optimizer mode.
- Author: Fabien Potencier <fabien@symfony.com>
Synopsis
class Twig_NodeVisitor_Optimizer
implements
Twig_NodeVisitorInterface
{
- // constants
- const OPTIMIZE_ALL = 1;
- const OPTIMIZE_NONE = 0;
- const OPTIMIZE_FOR = 2;
- const OPTIMIZE_RAW_FILTER = 4;
- const OPTIMIZE_VAR_ACCESS = 8;
- // members
- protected array $loops;
- protected $optimizers;
- protected array $prependedNodes;
- protected $inABody;
- // methods
- public void __construct()
- public void enterNode()
- public void leaveNode()
- protected void optimizeVariables()
- protected void optimizePrintNode()
- protected void optimizeRawFilter()
- protected void enterOptimizeFor()
- protected void leaveOptimizeFor()
- protected void addLoopToCurrent()
- protected void addLoopToAll()
- public void getPriority()
Hierarchy
Implements
Constants
Name | Value |
---|---|
OPTIMIZE_ALL | 1 |
OPTIMIZE_NONE | 0 |
OPTIMIZE_FOR | 2 |
OPTIMIZE_RAW_FILTER | 4 |
OPTIMIZE_VAR_ACCESS | 8 |
Members
protected
- $inABody
- $loops
- $optimizers
- $prependedNodes
Methods
protected
- addLoopToAll()
- addLoopToCurrent()
- enterOptimizeFor() — Optimizes "for" tag by removing the "loop" variable creation whenever possible.
- leaveOptimizeFor() — Optimizes "for" tag by removing the "loop" variable creation whenever possible.
- optimizePrintNode() — Optimizes print nodes.
- optimizeRawFilter() — Removes "raw" filters.
- optimizeVariables()
public
- __construct() — Constructor.
- enterNode() — {@inheritdoc}
- getPriority() — {@inheritdoc}
- leaveNode() — {@inheritdoc}