在Guzzle中以编程方式构建查询字符串?

Pro*_*ica 12 php guzzle

在我的PHP Guzzle客户端代码中,我有类似的东西

$c = new Client('http://test.com/api/1.0/function');

$request = $c->get('?f=4&l=2&p=3&u=5');
Run Code Online (Sandbox Code Playgroud)

但我希望有类似的东西:

$request->set('f', 4);
$request->set('l', 2);
$request->set('p', 3);
$request->set('u', 5);
Run Code Online (Sandbox Code Playgroud)

在Guzzle有可能吗?从文档和随机谷歌搜索它似乎是,但我找不到确切的方式.

Pro*_*ica 14

您可以:

$c = new Client('http://test.com/api/1.0/function');

$request = $c->get();

$q = $request->getQuery();

$q->set('f', 4);
$q->set('l', 2);
$q->set('p', 3);
$q->set('u', 5);
Run Code Online (Sandbox Code Playgroud)


Vla*_*Pak 5

Guzzle 6 - 您可以使用查询选项参数

// Send a GET request to /get?foo=bar
$client->request('GET', '/get', ['query' => ['foo' => 'bar']]);
Run Code Online (Sandbox Code Playgroud)

http://docs.guzzlephp.org/en/stable/request-options.html#query