public function __construct(Service $service, $name) { parent::__construct($service->getDefinition()); $this->name = $name; $this->service = $service; }
private function loadPort(Service $service, DOMElement $node) { $port = new Port($service, $node->getAttribute("name")); $port->setDocumentation($this->getDocumentation($node)); $service->addPort($port); return function () use($port, $service, $node) { list($name, $ns) = self::splitParts($node, $node->getAttribute("binding")); $port->setBinding($service->getDefinition()->findBinding($name, $ns)); $this->dispatcher->dispatch('service.port', new PortEvent($port, $node)); }; }