コード例 #1
0
 private function applyDependencies(ContainerInterface $container, MethodReflector $method)
 {
     $dependencies = [];
     foreach ($method->getParameters() as $param) {
         $dependencies[] = $param->getName();
     }
     $container->setDependencies($method->getName(), $dependencies);
 }
コード例 #2
0
ファイル: TypeHint.php プロジェクト: europaphp/europaphp
 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);
     }
 }