コード例 #1
0
ファイル: Terminal.php プロジェクト: bgarrels/ebnf
 /**
  * Defines method to accept {@link Visitors}.
  *
  * Imlements {@link http://en.wikipedia.org/wiki/Visitor_pattern Visitor Pattern}.
  *
  * @param Visitor $visitor Object which visits te node.
  *
  * @return void
  */
 public function accept(Visitor $visitor)
 {
     $visitor->beforeVisit($this);
     $visitor->visit($this);
     $visitor->afterVisit($this);
 }
コード例 #2
0
ファイル: AbstractComposite.php プロジェクト: bgarrels/ebnf
 /**
  * Defines method to accept {@link Visitors}.
  *
  * Imlements {@link http://en.wikipedia.org/wiki/Visitor_pattern Visitor Pattern}.
  *
  * @param Visitor $visitor Object which visits te node.
  *
  * @return void
  */
 public function accept(Visitor $visitor)
 {
     $visitor->beforeVisit($this);
     $visitor->visit($this);
     if ($this->hasChildren()) {
         foreach ($this->getIterator() as $subnode) {
             $subnode->accept($visitor);
         }
     }
     $visitor->afterVisit($this);
 }