Inheritance: extends Autarky\Providers\ProviderInterface
Example #1
0
 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);
     }
 }