Methods |
public
|
__construct(callable $filterCallback)
|
#
|
public
|
getFoundNodes(): list<Node>
Get found nodes satisfying the filter callback. Nodes are returned in pre-order.
Get found nodes satisfying the filter callback. Nodes are returned in pre-order.
Returns
|
#
|
public
|
beforeTraverse(array $nodes): ?array
Called once before traversal. Return value semantics:
- null: $nodes stays as-is
- otherwise: $nodes is set to the return value
Called once before traversal. Return value semantics:
- null: $nodes stays as-is
- otherwise: $nodes is set to the return value
Parameters
Returns
Overrides
|
#
|
public
|
enterNode(Node $node)
Called when entering a node. Return value semantics:
- null
=> $node stays as-is
- array (of Nodes)
=> The return value is merged into the parent array (at the position of the $node)
- NodeVisitor::REMOVE_NODE
=> $node is removed from the parent array
- NodeVisitor::REPLACE_WITH_NULL
=> $node is replaced with null
- NodeVisitor::DONT_TRAVERSE_CHILDREN
=> Children of $node are not traversed. $node stays as-is
- NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN
=> Further visitors for the current node are skipped, and its children are not
traversed. $node stays as-is.
- NodeVisitor::STOP_TRAVERSAL
=> Traversal is aborted. $node stays as-is
- otherwise
=> $node is set to the return value
Called when entering a node. Return value semantics:
- null
=> $node stays as-is
- array (of Nodes)
=> The return value is merged into the parent array (at the position of the $node)
- NodeVisitor::REMOVE_NODE
=> $node is removed from the parent array
- NodeVisitor::REPLACE_WITH_NULL
=> $node is replaced with null
- NodeVisitor::DONT_TRAVERSE_CHILDREN
=> Children of $node are not traversed. $node stays as-is
- NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN
=> Further visitors for the current node are skipped, and its children are not
traversed. $node stays as-is.
- NodeVisitor::STOP_TRAVERSAL
=> Traversal is aborted. $node stays as-is
- otherwise
=> $node is set to the return value
Parameters
Returns
Replacement node (or special return value)
Overrides
|
#
|