Autarky\Application::checkProviderDependencies PHP Метод

checkProviderDependencies() защищенный Метод

protected checkProviderDependencies ( Autarky\Providers\DependantProviderInterface $provider )
$provider Autarky\Providers\DependantProviderInterface
    protected function checkProviderDependencies(DependantProviderInterface $provider)
    {
        $errors = [];
        foreach ($provider->getClassDependencies() as $class) {
            if (!class_exists($class)) {
                $errors[] = "Class must exist: {$class}";
            }
        }
        foreach ($provider->getContainerDependencies() as $class) {
            if (!$this->container->isBound($class)) {
                $errors[] = "Class must be bound to the container: {$class}";
            }
        }
        foreach ($provider->getProviderDependencies() as $class) {
            if (!isset($this->providers[$class])) {
                $errors[] = "Provider must be loaded: {$class}";
            }
        }
        if ($errors) {
            $providerClass = get_class($provider);
            $message = "Errors while registering provider: {$providerClass}";
            if (count($errors) > 1) {
                $message .= "\n" . implode("\n", $errors);
            } else {
                $message .= " - {$errors[0]}";
            }
            throw new Providers\ProviderException($message, $errors);
        }
    }