Nette\DI\ContainerBuilder::normalizeEntity PHP Method

normalizeEntity() public method

public normalizeEntity ( $entity )
    public function normalizeEntity($entity)
    {
        if (is_string($entity) && Strings::contains($entity, '::') && !Strings::contains($entity, '?')) {
            // Class::method -> [Class, method]
            $entity = explode('::', $entity);
        }
        if (is_array($entity) && $entity[0] instanceof ServiceDefinition) {
            // [ServiceDefinition, ...] -> [@serviceName, ...]
            $entity[0] = '@' . current(array_keys($this->definitions, $entity[0], TRUE));
        } elseif ($entity instanceof ServiceDefinition) {
            // ServiceDefinition -> @serviceName
            $entity = '@' . current(array_keys($this->definitions, $entity, TRUE));
        } elseif (is_array($entity) && $entity[0] === $this) {
            // [$this, ...] -> [@container, ...]
            trigger_error("Replace object ContainerBuilder in Statement entity with '@container'.", E_USER_DEPRECATED);
            $entity[0] = '@' . self::THIS_CONTAINER;
        }
        return $entity;
        // Class, @service, [Class, member], [@service, member], [, globalFunc], Statement
    }