/** * @param Application $app * @param Controller $controller * @param \ReflectionClass $controllerReflection * @param $controllerInstance */ public static function methodInjections(Application $app, Controller $controller, \ReflectionClass $controllerReflection, $controllerInstance) { foreach ($controller->getMethods() as $method) { $methodReflection = $controllerReflection->getMethod($method->getName()); $args = array(); foreach ($method->getInjectionKeys() as $injectionKey) { if (isset($app[$injectionKey])) { $args[] = $app[$injectionKey]; } } $methodReflection->invokeArgs($controllerInstance, $args); } }