相关疑难解决方法(0)

获取Symfony 2中的所有请求参数

在symfony 2控制器中,每次我想从帖子中获取值时我都需要运行:

$this->getRequest()->get('value1');
$this->getRequest()->get('value2');
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些合并到一个会返回数组的语句中?像Zend的getParams()之类的东西?

php request symfony

66
推荐指数
2
解决办法
10万
查看次数

Symfony请求获取所有url参数

我有一个Symfony\Component\HttpFoundation\Request对象,我想从中获取所有提供的url参数.换句话说,当用户访问时http://example.org/soempage?param1=value1&param2=value2&param3=value3

我想生成一个具有这些值的数组['param1','param2','param3'].

我也看过这个:如何获取Symfony2中的所有帖子参数?

我基于上面尝试了以下内容:

    /**
     * @var request Symfony\Component\HttpFoundation\Request
     */
    $parametersToValidate=$request->request->all();
    $parametersToValidate=array_keys($parametersToValidate);
Run Code Online (Sandbox Code Playgroud)

    /**
     * @var request Symfony\Component\HttpFoundation\Request
     */
    $parametersToValidate=$request->all();
    $parametersToValidate=array_keys($parametersToValidate);
Run Code Online (Sandbox Code Playgroud)

没有期望的结果,但我收到此错误消息:

尝试调用名为"all"的类"Symfony\Component\HttpFoundation\Request \"的未定义方法

编辑1

请求我使用int进入一个验证输入的静态方法.该方法通过控制器调用,并且为了可重用性而实现.

public static function httpRequestShouldHaveSpecificParametersWhenGiven(Request $request,array $parametersThatHttpRequestShouldHave)
    {
        $parametersToValidate=$request->parameters->all();

        if(empty($parametersToValidate)){
            return;
        }

        $parameters=array_keys($parametersToValidate);

        foreach($parameters as $param){
            if(!in_array($parameters,$parametersThatHttpRequestShouldHave)){            
                throw new InvalidNumberOfParametersException(implode(',',$parametersToValidate),implode(',',$parametersThatHttpRequestShouldHave),implode(',',$diff));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

php symfony symfony-3.2

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×2

symfony ×2

request ×1

symfony-3.2 ×1