protected function resolve($id)
    {
        $keys = explode(self::SEPARATOR, $id);
        $node = & $this->components;

        while ($key = array_shift($keys)) {
            if (!is_array($node) || !array_key_exists($key, $node)) {
                throw new ContainerException(sprintf('Invalid or unknown component/parameter identifier "%s"', $id));
            }

            $node = & $node[$key];
        }

        return is_callable($node) ? $node($this) : $node;
    }
protected function resolve($id)
    {
        $keys = explode(self::SEPARATOR, $id);
        $node = & $this->components;

        while ($key = array_shift($keys)) {
            if (!is_array($node) || !array_key_exists($key, $node)) {
                throw new ContainerException(sprintf('Invalid or unknown component/parameter identifier "%s"', $id));
            }

            $node = & $node[$key];
        }

        return is_callable($node) ? $node($this) : $node;
    }
protected function resolve ( $ id ) { $ keys = explode ( self :: SEPARATOR , $ id ) ; $ node = & $ this -> components ; while ( $ key = array_shift ( $ keys ) ) { if ( ! is_array ( $ node ) || ! array_key_exists ( $ key , $ node ) ) { throw new ContainerException ( sprintf ( 'Invalid or unknown component/parameter identifier "%s"' , $ id ) ) ; } $ node = & $ node [ $ key ] ; } return is_callable ( $ node ) ? $ node ( $ this ) : $ node ; }
Resolves component by its id

@param string $id

@return mixed
@throws ContainerException
Resolves component by its id