【问题标题】:Symfony 2 set Request content and retrieve itSymfony 2 设置请求内容并检索它
【发布时间】:2015-09-23 12:19:11
【问题描述】:

我在 Symfony2 中工作,我想使用 JSON 字符串设置请求的内容并使用即:$request->get('name') 来访问内容。

JSON 字符串:

$string = '{
            "name":"Bob",
            "surname":"White",
            "email":"bobwhite@gmail.com",
            "nationality":"",
        }';

$request = new Request ($query = array(), $request = array(), $attributes = array(), $cookies = array(), $files = array(), $server = array(), $content = $string);

var_dump($request->get('name'));die;

对我来说,上面是一种有效的方法,但是 var dump 给了我 null...谁能看到我在哪里出错了...?

【问题讨论】:

    标签: php json symfony


    【解决方案1】:

    你想要这样的东西吗?

    use Symfony\Component\HttpFoundation\Request;
    
    $input = '{
                "name":"Bob",
                "surname":"White",
                "email":"bobwhite@gmail.com",
                "nationality":""
            }';
    $data = json_decode($input, true);
    
    
    $request = new Request (array(), $data);
    
    var_dump($request->request->get('name'));
    
    die;
    

    【讨论】:

    • 我同意,这就是这样做的方法。或者,他可以使用JsonResponse 类来消除第一个array() arg。
    • @JovanPerovic 不,它只会接受 PHP 数组。公共函数 __construct(array $query = array(), array $request = array(), ...
    • 啊,原来如此。我误读了代码,就像我通常做的json_decode($input, true) 一样。第二个参数true 告诉json_decode 返回array 而不是stdClass
    • @JovanPerovic 啊,是的,将其更改为返回数组。 :)
    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 2016-03-16
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多