0 follower

Final Class Yiisoft\Di\Helpers\DefinitionNormalizer

InheritanceYiisoft\Di\Helpers\DefinitionNormalizer

Public Methods

Hide inherited methods

Method Description Defined By
normalize() Yiisoft\Di\Helpers\DefinitionNormalizer

Method Details

Hide inherited methods

normalize() public static method

public static \Yiisoft\Definitions\Contract\DefinitionInterface normalize ( mixed $definition, string $id )
$definition mixed

Definition to normalize.

$id string

Service ID.

throws \Yiisoft\Definitions\Exception\InvalidConfigException

If configuration is not valid.

                public static function normalize(mixed $definition, string $id): DefinitionInterface
{
    if (is_array($definition) && isset($definition[DefinitionParser::IS_PREPARED_ARRAY_DEFINITION_DATA])) {
        /** @psalm-suppress MixedArgument Definition should be valid {@see Container::$validate} */
        return ArrayDefinition::fromPreparedData(
            $definition['class'] ?? $id,
            $definition['__construct()'],
            $definition['methodsAndProperties']
        );
    }
    if ($definition instanceof ExtensibleService) {
        return $definition;
    }
    return Normalizer::normalize($definition, $id);
}