protected function getActionArguments($action, $vars = array()) {
        $reflectionObject = new \ReflectionObject($this);
        $method = $reflectionObject->getMethod($action);
        $parameters = $method->getParameters();
        $arguments = array();
        foreach ($parameters as $param) {
            $name = $param->getName();
            if (array_key_exists($name, $vars)) {
                $arguments[] = $this->parseParameter($vars[$name], $param);
                continue;
            }
            $value = $this->setActionArguments($name);

            if (!is_null($value)){
                $arguments[] = $this->parseParameter($value, $param);
                continue;
            }
            if ($param->isDefaultValueAvailable()) {
                $arguments[] = $param->getDefaultValue();
                continue;
            }
            throw new Exception(sprintf(
                __('%s ACTION`S %s DOES NOT HAVE VALUE!'), $action, $name));
        }
        return $arguments;
    }
protected function getActionArguments($action, $vars = array()) {
        $reflectionObject = new \ReflectionObject($this);
        $method = $reflectionObject->getMethod($action);
        $parameters = $method->getParameters();
        $arguments = array();
        foreach ($parameters as $param) {
            $name = $param->getName();
            if (array_key_exists($name, $vars)) {
                $arguments[] = $this->parseParameter($vars[$name], $param);
                continue;
            }
            $value = $this->setActionArguments($name);

            if (!is_null($value)){
                $arguments[] = $this->parseParameter($value, $param);
                continue;
            }
            if ($param->isDefaultValueAvailable()) {
                $arguments[] = $param->getDefaultValue();
                continue;
            }
            throw new Exception(sprintf(
                __('%s ACTION`S %s DOES NOT HAVE VALUE!'), $action, $name));
        }
        return $arguments;
    }
protected function getActionArguments ( $ action , $ vars = array ( ) ) { $ reflectionObject = new \ ReflectionObject ( $ this ) ; $ method = $ reflectionObject -> getMethod ( $ action ) ; $ parameters = $ method -> getParameters ( ) ; $ arguments = array ( ) ; foreach ( $ parameters as $ param ) { $ name = $ param -> getName ( ) ; if ( array_key_exists ( $ name , $ vars ) ) { $ arguments [ ] = $ this -> parseParameter ( $ vars [ $ name ] , $ param ) ; continue ; } $ value = $ this -> setActionArguments ( $ name ) ; if ( ! is_null ( $ value ) ) { $ arguments [ ] = $ this -> parseParameter ( $ value , $ param ) ; continue ; } if ( $ param -> isDefaultValueAvailable ( ) ) { $ arguments [ ] = $ param -> getDefaultValue ( ) ; continue ; } throw new Exception ( sprintf ( __ ( '%s ACTION`S %s DOES NOT HAVE VALUE!' ) , $ action , $ name ) ) ; } return $ arguments ; }
GET ACTION NEED ARGUMENTS
@param string $action
@param array $vars
@return array
@throws Exception
GET ACTION NEED ARGUMENTS