container = $container; } public function addContextProperty($serviceID, string $name) { if (isset($this->contexts[$name])) { throw new \Exception('Duplicated feed generator context property name "'.$name.'" from service "'.$serviceID.'"!'); } $this->contexts[$name] = ['serviceID' => $serviceID]; } public function sortContexts() { ksort($this->contexts, SORT_STRING); } public function getContexts(): array { return $this->contexts; } public function getServiceByContextName(string $name) { return isset($this->contexts[$name]) ? $this->container->get($this->contexts[$name]['serviceID']) : null; } }