src/ExtDirect/ExtDirectRequest.php
public function run()
    {
        $class = $this->getAnnotationClassForAction($this->getParameters()->getAction());

        $method = $this->getAnnotationMethodForMethod($class, $this->getParameters()->getMethod());

        $className = $class->getClassName();

        $methodName = $method->getMethodName();

        $reflectionClass = new \ReflectionClass($className);
        $controllerInstance = $reflectionClass->newInstance();

        // postbody parameter injection
        $paramMethod = $this->getParamMethod();
        if (!method_exists($controllerInstance, $paramMethod)) {
            throw new ExtDirectException("Method '{$this->getParamMethod()}' not available in class '{$className}'");
        }
        $controllerInstance->$paramMethod($this->getParameters()->getData());

        foreach ($this->getMethodCalls() as $mName => $mParams) {
            if (!$reflectionClass->hasMethod($mName)) {
                throw new ExtDirectException("Method '{$mName}' not available in class '{$className}'");
            }

            call_user_func_array(array($controllerInstance, $mName), $mParams);
        }

        $reflectionMethod = $reflectionClass->getMethod($methodName);
        $result = $reflectionMethod->invoke($controllerInstance);

        $this->getResponse()->setResult($result);
    }
public function run()
    {
        $class = $this->getAnnotationClassForAction($this->getParameters()->getAction());

        $method = $this->getAnnotationMethodForMethod($class, $this->getParameters()->getMethod());

        $className = $class->getClassName();

        $methodName = $method->getMethodName();

        $reflectionClass = new \ReflectionClass($className);
        $controllerInstance = $reflectionClass->newInstance();

        // postbody parameter injection
        $paramMethod = $this->getParamMethod();
        if (!method_exists($controllerInstance, $paramMethod)) {
            throw new ExtDirectException("Method '{$this->getParamMethod()}' not available in class '{$className}'");
        }
        $controllerInstance->$paramMethod($this->getParameters()->getData());

        foreach ($this->getMethodCalls() as $mName => $mParams) {
            if (!$reflectionClass->hasMethod($mName)) {
                throw new ExtDirectException("Method '{$mName}' not available in class '{$className}'");
            }

            call_user_func_array(array($controllerInstance, $mName), $mParams);
        }

        $reflectionMethod = $reflectionClass->getMethod($methodName);
        $result = $reflectionMethod->invoke($controllerInstance);

        $this->getResponse()->setResult($result);
    }
request execution

@return void
@throws Exceptions\ExtDirectException