private function applyDependencies(ContainerInterface $container, MethodReflector $method) { $dependencies = []; foreach ($method->getParameters() as $param) { $dependencies[] = $param->getName(); } $container->setDependencies($method->getName(), $dependencies); }
public function __invoke(ControllerAbstract $controller, ClassReflector $class, MethodReflector $method, array &$context) { foreach ($method->getParameters() as $param) { if (!($type = $param->getClass())) { continue; } $type = $type->getName(); $name = $param->getName(); if (isset($context[$name])) { $value = $context[$name]; } elseif ($param->isDefaultValueAvailable()) { $value = $param->getDefaultValue(); } else { Exception::toss('Cannot type-hint "%s" in "%s" because the request does not contain the parameter and a default value was not specified.', $name, $method->__toString()); } $context[$name] = new $type($value); } }