19 declare(strict_types=1);
67 if (isset($this->as_string)) {
74 $string .= Token::LEADS_TO_EXACTLY_ONE->value;
77 $string .= Token::START_AT_CURRENT->value;
79 $string .= Token::START_AT_ROOT->value;
81 foreach ($this->
steps() as $step) {
82 $string .= Token::SEPARATOR->value;
86 return $this->as_string = $string;
91 $string = $step->
name();
93 $string = $string->value;
95 foreach ($step->
filters() as $filter) {
96 $string .= Token::FILTER_SEPARATOR->value .
97 $filter->type()->value .
102 iterator_to_array($filter->values())