PEEL Shopping
Open source ecommerce : PEEL Shopping
Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
Twig_NodeVisitor_Optimizer Class Reference

Twig_NodeVisitor_Optimizer tries to optimizes the AST. More...

Inheritance diagram for Twig_NodeVisitor_Optimizer:
Twig_NodeVisitorInterface

Public Member Functions

 __construct ($optimizers=-1)
 Constructor. More...
 
 enterNode (Twig_NodeInterface $node, Twig_Environment $env)
 {Called before child nodes are visited.
Parameters
Twig_NodeInterface$nodeThe node to visit
Twig_Environment$envThe Twig environment instance
Returns
Twig_NodeInterface The modified node
} More...
 
 leaveNode (Twig_NodeInterface $node, Twig_Environment $env)
 {Called after child nodes are visited.
Parameters
Twig_NodeInterface$nodeThe node to visit
Twig_Environment$envThe Twig environment instance
Returns
Twig_NodeInterface|false The modified node or false if the node must be removed
} More...
 
 getPriority ()
 {Returns the priority for this visitor.Priority should be between -10 and 10 (0 is the default).
Returns
integer The priority level
} More...
 

Data Fields

const OPTIMIZE_ALL = -1
 
const OPTIMIZE_NONE = 0
 
const OPTIMIZE_FOR = 2
 
const OPTIMIZE_RAW_FILTER = 4
 
const OPTIMIZE_VAR_ACCESS = 8
 

Protected Member Functions

 optimizeVariables ($node, $env)
 
 optimizePrintNode ($node, $env)
 Optimizes print nodes. More...
 
 optimizeRawFilter ($node, $env)
 Removes "raw" filters. More...
 
 enterOptimizeFor ($node, $env)
 Optimizes "for" tag by removing the "loop" variable creation whenever possible. More...
 
 leaveOptimizeFor ($node, $env)
 Optimizes "for" tag by removing the "loop" variable creation whenever possible. More...
 
 addLoopToCurrent ()
 
 addLoopToAll ()
 

Protected Attributes

 $loops = array()
 
 $optimizers
 
 $prependedNodes = array()
 
 $inABody = false
 

Detailed Description

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 fabie.nosp@m.n@sy.nosp@m.mfony.nosp@m..com

Definition at line 22 of file Optimizer.php.

Constructor & Destructor Documentation

__construct (   $optimizers = -1)

Constructor.

Parameters
integer$optimizersThe optimizer mode

Definition at line 40 of file Optimizer.php.

Member Function Documentation

addLoopToAll ( )
protected

Definition at line 232 of file Optimizer.php.

addLoopToCurrent ( )
protected

Definition at line 227 of file Optimizer.php.

enterNode ( Twig_NodeInterface  $node,
Twig_Environment  $env 
)

{Called before child nodes are visited.

Parameters
Twig_NodeInterface$nodeThe node to visit
Twig_Environment$envThe Twig environment instance
Returns
Twig_NodeInterface The modified node
}

Implements Twig_NodeVisitorInterface.

Definition at line 52 of file Optimizer.php.

enterOptimizeFor (   $node,
  $env 
)
protected

Optimizes "for" tag by removing the "loop" variable creation whenever possible.

Parameters
Twig_NodeInterface$nodeA Node
Twig_Environment$envThe current Twig environment

Definition at line 171 of file Optimizer.php.

getPriority ( )

{Returns the priority for this visitor.Priority should be between -10 and 10 (0 is the default).

Returns
integer The priority level
}

Implements Twig_NodeVisitorInterface.

Definition at line 242 of file Optimizer.php.

leaveNode ( Twig_NodeInterface  $node,
Twig_Environment  $env 
)

{Called after child nodes are visited.

Parameters
Twig_NodeInterface$nodeThe node to visit
Twig_Environment$envThe Twig environment instance
Returns
Twig_NodeInterface|false The modified node or false if the node must be removed
}

Implements Twig_NodeVisitorInterface.

Definition at line 78 of file Optimizer.php.

leaveOptimizeFor (   $node,
  $env 
)
protected

Optimizes "for" tag by removing the "loop" variable creation whenever possible.

Parameters
Twig_NodeInterface$nodeA Node
Twig_Environment$envThe current Twig environment

Definition at line 220 of file Optimizer.php.

optimizePrintNode (   $node,
  $env 
)
protected

Optimizes print nodes.

It replaces:

  • "echo $this->render(Parent)Block()" with "$this->display(Parent)Block()"
Parameters
Twig_NodeInterface$nodeA Node
Twig_Environment$envThe current Twig environment

Definition at line 132 of file Optimizer.php.

optimizeRawFilter (   $node,
  $env 
)
protected

Removes "raw" filters.

Parameters
Twig_NodeInterface$nodeA Node
Twig_Environment$envThe current Twig environment

Definition at line 156 of file Optimizer.php.

optimizeVariables (   $node,
  $env 
)
protected

Definition at line 111 of file Optimizer.php.

Field Documentation

$inABody = false
protected

Definition at line 33 of file Optimizer.php.

$loops = array()
protected

Definition at line 30 of file Optimizer.php.

$optimizers
protected

Definition at line 31 of file Optimizer.php.

$prependedNodes = array()
protected

Definition at line 32 of file Optimizer.php.

const OPTIMIZE_ALL = -1

Definition at line 24 of file Optimizer.php.

const OPTIMIZE_FOR = 2

Definition at line 26 of file Optimizer.php.

const OPTIMIZE_NONE = 0

Definition at line 25 of file Optimizer.php.

const OPTIMIZE_RAW_FILTER = 4

Definition at line 27 of file Optimizer.php.

const OPTIMIZE_VAR_ACCESS = 8

Definition at line 28 of file Optimizer.php.


The documentation for this class was generated from the following file:

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