/** * @param MethodInfo $methodInfo * @return null|MethodCall */ protected function prepareMethodStatement(MethodInfo $methodInfo) { $di = $methodInfo->getFirstAnnotationInstanceof('Saxulum\\RouteController\\Annotation\\DI'); /** @var DI $di */ if (is_null($di)) { return null; } return new MethodCall(new Variable('controller'), $methodInfo->getName(), $this->prepareArguments($di)); }
/** * @param ClassInfo $classInfo * @param MethodInfo $methodInfo * @param Route $route * @return Assign */ protected function prepareControllerNode(ClassInfo $classInfo, MethodInfo $methodInfo, Route $route) { return new Assign(new Variable('controller'), new MethodCall(new Variable('controllers'), 'match', array(new Arg($this->prepareScalarArg($route->value)), new Arg($this->prepareScalarArg($classInfo->getServiceId() . ':' . $methodInfo->getName()))))); }