/** * 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; }
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; }