Пример #1
0
 private function loadMessage(Definitions $definitions, DOMElement $node)
 {
     $message = new Message($definitions, $node->getAttribute("name"));
     $message->setDocumentation($this->getDocumentation($node));
     $definitions->addMessage($message);
     $functions = array();
     foreach ($this->loop($node) as $childNode) {
         switch ($childNode->localName) {
             case 'part':
                 $functions[] = $this->loadMessagePart($message, $childNode);
                 break;
         }
     }
     return function () use($functions, $message, $node) {
         $this->dispatcher->dispatch('message', new MessageEvent($message, $node));
         foreach ($functions as $function) {
             call_user_func($function);
         }
     };
 }