Пример #1
0
 /**
  * Resolve constructor or method arguments
  *
  * @param array $arguments
  * @return array
  */
 protected function resolveArguments(array $arguments)
 {
     $resolved = [];
     foreach ($arguments as $argument) {
         if (is_string($argument) && $this->container->has($argument)) {
             $resolved[] = $this->container->get($argument);
         } else {
             $resolved[] = $argument;
         }
     }
     return $resolved;
 }
Пример #2
0
 public function __invoke($abstract, $concrete, ContainerInterface $container)
 {
     if ($concrete instanceof \Closure) {
         return new CallableDefinition($abstract, $concrete, $container);
     }
     if (is_string($concrete) && $container->has($concrete)) {
         $container->alias($concrete, $abstract);
         return;
     }
     if (is_string($concrete) && class_exists($concrete)) {
         return new ClassDefinition($abstract, $concrete, $container);
     }
     return $concrete;
 }