public function execute(Request $request) { $key = $request->getKey(); $definitionsMap = $request->getDefinitionsMap(); $definition = $definitionsMap[$key]; $value = $definition->getConcrete(); return $request->getContainer()->get($value); }
public function execute(Request $request) { $key = $request->getKey(); $reflected = new \ReflectionClass($key); // abstract class or interface if (!$reflected->isInstantiable()) { $message = "Unable to resolve [{$reflected->name}]"; $this->raiseException($message); } $constructor = $reflected->getConstructor(); $parameters = array(); if (!is_null($constructor)) { $parameters = $this->getDependencies($constructor, $request->getContainer()); } return !empty($parameters) ? $reflected->newInstanceArgs($parameters) : $reflected->newInstanceArgs(); }