繁体   English   中英

Symfony请求获取所有url参数

[英]Symfony Request get all url Parameters

我有一个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);

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

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

尝试调用名为“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));
            }
        }
    }

你试过了吗:

$parametersToValidate = $request->query->all();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM