parse_str():在jwage / purl中不推荐使用不带result参数的parse_str()

时间:2018-04-27 11:27:11

标签: php laravel

public function postIndex(){

$url = new Url('https://www.dropbox.com/1/oauth2/authorize');

$url->query->setData([
    'response_type'=>'code',
    'client_id'=> env('DROPBOX_APP_KEY'),
    'redirect_uri'=> env('DROPBOX_REDIRECT_URI')
]);
在purl类中定义的

parse_str只接受一个参数

protected function doInitialize()
{
    parse_str($this->query);

    $this->data = get_defined_vars();
}

我目前的php版本是7.1.17.它需要第二个'result'参数,我应该如何传递第二个必需参数来摆脱这个错误

提前致谢。

1 个答案:

答案 0 :(得分:4)

According to the documentationparse_str在7.2之前没有开始提出弃用警告,但无论如何,切换到双参数用法是有道理的。

值得庆幸的是,该代码示例非常简单,可以按如下方式轻松更新:

protected function doInitialize()
{
    parse_str($this->query, $this->data);
}

jwage/purl库已经had basically this exact fix applied,但从那时起它似乎没有被重新标记,所以如果您通过Composer将其拉出来,则需要手动require the master branch