private function getControllerParameters($controllerString)
    {
        $controllerInfo = explode(':', $controllerString);

        if (count($controllerInfo) !== 3) {
            throw new AjaxBlocksException(
                "$controllerString is not a correct controller name.",
                AjaxBlocksErrorCodes::WRONG_CONTROLLER_NAME
            );
        }

        try {
            /** @var Bundle $bundle */
            $bundle = $this->get('kernel')->getBundle($controllerInfo[0]);
        } catch (\Exception $ex) {
            throw new AjaxBlocksException(
                "Bundle \"$controllerInfo[0]\" does not exist or is not loaded.",
                AjaxBlocksErrorCodes::BUNDLE_DOES_NOT_EXIST
            );
        }

        $namespace = $bundle->getNamespace();
        $controllerName = $controllerInfo[1].'Controller';
        $controllerMethod = $controllerInfo[2].'Action';
        $className = $namespace.'\\Controller\\'.$controllerName;

        if (!class_exists($className)) {
            throw new AjaxBlocksException(
                "Class \"$className\" does not exist.",
                AjaxBlocksErrorCodes::CONTROLLER_CLASS_DOES_NOT_EXISTS
            );
        }

        $reflectionClass = new \ReflectionClass($className);

        if (!$reflectionClass->hasMethod($controllerMethod)) {
            throw new AjaxBlocksException(
                "Class \"$className\" does not have a method called \"$controllerMethod\".",
                AjaxBlocksErrorCodes::CONTROLLER_CLASS_METHOD_DOES_NOT_EXISTS
            );
        }

        $controller = $reflectionClass->getMethod($controllerMethod);
        if (!$controller->isPublic()) {
            throw new AjaxBlocksException(
                "Method \"$controllerMethod\" of class \"$className\" is not public or is not callable.",
                AjaxBlocksErrorCodes::CONTROLLER_IS_NOT_CALLABLE
            );
        }

        return $controller->getParameters();
    }
private function getControllerParameters($controllerString)
    {
        $controllerInfo = explode(':', $controllerString);

        if (count($controllerInfo) !== 3) {
            throw new AjaxBlocksException(
                "$controllerString is not a correct controller name.",
                AjaxBlocksErrorCodes::WRONG_CONTROLLER_NAME
            );
        }

        try {
            /** @var Bundle $bundle */
            $bundle = $this->get('kernel')->getBundle($controllerInfo[0]);
        } catch (\Exception $ex) {
            throw new AjaxBlocksException(
                "Bundle \"$controllerInfo[0]\" does not exist or is not loaded.",
                AjaxBlocksErrorCodes::BUNDLE_DOES_NOT_EXIST
            );
        }

        $namespace = $bundle->getNamespace();
        $controllerName = $controllerInfo[1].'Controller';
        $controllerMethod = $controllerInfo[2].'Action';
        $className = $namespace.'\\Controller\\'.$controllerName;

        if (!class_exists($className)) {
            throw new AjaxBlocksException(
                "Class \"$className\" does not exist.",
                AjaxBlocksErrorCodes::CONTROLLER_CLASS_DOES_NOT_EXISTS
            );
        }

        $reflectionClass = new \ReflectionClass($className);

        if (!$reflectionClass->hasMethod($controllerMethod)) {
            throw new AjaxBlocksException(
                "Class \"$className\" does not have a method called \"$controllerMethod\".",
                AjaxBlocksErrorCodes::CONTROLLER_CLASS_METHOD_DOES_NOT_EXISTS
            );
        }

        $controller = $reflectionClass->getMethod($controllerMethod);
        if (!$controller->isPublic()) {
            throw new AjaxBlocksException(
                "Method \"$controllerMethod\" of class \"$className\" is not public or is not callable.",
                AjaxBlocksErrorCodes::CONTROLLER_IS_NOT_CALLABLE
            );
        }

        return $controller->getParameters();
    }
private function getControllerParameters ( $ controllerString ) { $ controllerInfo = explode ( ':' , $ controllerString ) ; if ( count ( $ controllerInfo ) !== 3 ) { throw new AjaxBlocksException ( "$controllerString is not a correct controller name." , AjaxBlocksErrorCodes :: WRONG_CONTROLLER_NAME ) ; } try { /** @var Bundle $bundle */ $ bundle = $ this -> get ( 'kernel' ) -> getBundle ( $ controllerInfo [ 0 ] ) ; } catch ( \ Exception $ ex ) { throw new AjaxBlocksException ( "Bundle \"$controllerInfo[0]\" does not exist or is not loaded." , AjaxBlocksErrorCodes :: BUNDLE_DOES_NOT_EXIST ) ; } $ namespace = $ bundle -> getNamespace ( ) ; $ controllerName = $ controllerInfo [ 1 ] . 'Controller' ; $ controllerMethod = $ controllerInfo [ 2 ] . 'Action' ; $ className = $ namespace . '\\Controller\\' . $ controllerName ; if ( ! class_exists ( $ className ) ) { throw new AjaxBlocksException ( "Class \"$className\" does not exist." , AjaxBlocksErrorCodes :: CONTROLLER_CLASS_DOES_NOT_EXISTS ) ; } $ reflectionClass = new \ ReflectionClass ( $ className ) ; if ( ! $ reflectionClass -> hasMethod ( $ controllerMethod ) ) { throw new AjaxBlocksException ( "Class \"$className\" does not have a method called \"$controllerMethod\"." , AjaxBlocksErrorCodes :: CONTROLLER_CLASS_METHOD_DOES_NOT_EXISTS ) ; } $ controller = $ reflectionClass -> getMethod ( $ controllerMethod ) ; if ( ! $ controller -> isPublic ( ) ) { throw new AjaxBlocksException ( "Method \"$controllerMethod\" of class \"$className\" is not public or is not callable." , AjaxBlocksErrorCodes :: CONTROLLER_IS_NOT_CALLABLE ) ; } return $ controller -> getParameters ( ) ; }
Get the parameters for the requested controller

@param $controllerString

@return ReflectionParameter[]

@throws AjaxBlocksException
Get the parameters for the requested controller