PHP Class Webmozart\Expression\Traversal\ExpressionTraverser

You can attach {@link ExpressionVisitor} instances to the traverse which will be invoked for every node of the expression tree.
Since: 1.0
Author: Bernhard Schussek ([email protected])
显示文件 Open project: webmozart/expression Class Usage Examples

Public Methods

Method Description
addVisitor ( Webmozart\Expression\Traversal\ExpressionVisitor $visitor ) Adds a visitor to the traverser.
getVisitors ( ) : Webmozart\Expression\Traversal\ExpressionVisitor[] Returns the visitors of the traverser.
removeVisitor ( Webmozart\Expression\Traversal\ExpressionVisitor $visitor ) Removes a visitor from the traverser.
traverse ( Webmozart\Expression\Expression $expr ) : Webmozart\Expression\Expression Traverses an expression.

Private Methods

Method Description
traverseConjunction ( AndX $expr )
traverseDisjunction ( OrX $expr )
traverseForVisitor ( Webmozart\Expression\Expression $expr, Webmozart\Expression\Traversal\ExpressionVisitor $visitor )
traverseKey ( Key $expr )
traverseNot ( Webmozart\Expression\Logic\Not $expr )

Method Details

addVisitor() public method

The visitors are invoked in the order in which they are added.
public addVisitor ( Webmozart\Expression\Traversal\ExpressionVisitor $visitor )
$visitor Webmozart\Expression\Traversal\ExpressionVisitor The visitor to add.

getVisitors() public method

Returns the visitors of the traverser.
public getVisitors ( ) : Webmozart\Expression\Traversal\ExpressionVisitor[]
return Webmozart\Expression\Traversal\ExpressionVisitor[] The visitors.

removeVisitor() public method

If the visitor was added multiple times, all instances are removed.
public removeVisitor ( Webmozart\Expression\Traversal\ExpressionVisitor $visitor )
$visitor Webmozart\Expression\Traversal\ExpressionVisitor The visitor to remove.

traverse() public method

Traverses an expression.
public traverse ( Webmozart\Expression\Expression $expr ) : Webmozart\Expression\Expression
$expr Webmozart\Expression\Expression The expression to traverse.
return Webmozart\Expression\Expression The modified expression. May be `null` if the expression was removed entirely.