Po uruchomieniu następującego kodu (przy użyciu najnowszego Guzzle, wersja 6), żądany adres URL to http://example.com/foobar?foo=bar
, z którego usunięto boo=far
z żądania.Jak połączyć domyślne parametry ciągu zapytania i parametry specyficzne dla żądania za pomocą polecenia Guzzle?
$guzzle_http_client = new GuzzleHttp\Client([
'base_uri' => 'http://example.com/',
'query' => [
'foo' => 'bar'
],
]);
$request = new \GuzzleHttp\Psr7\Request('GET', 'foobar?boo=far');
$response = $guzzle_http_client->send($request);
Kiedy uruchomić poniższy kod, przechodząc boo=far
zamiast w ramach metody Client::send()
, adres URL, który pobiera wymagane jest http://example.com/foobar?boo=far
$guzzle_http_client = new GuzzleHttp\Client([
'base_uri' => 'http://example.com/',
'query' => [
'foo' => 'bar'
],
]);
$request = new \GuzzleHttp\Psr7\Request('GET', 'foobar');
$response = $guzzle_http_client->send($request, ['query' => ['boo' => 'far']]);
Oczywiście, adres URL, że chcę być wymagane jest :
http://example.com/foobar?foo=bar&bar=foo
W jaki sposób ustawić Guzzle w połączeniu parametrów domyślnych parametrów zapytania klienta z parametrami specyficznymi dla żądania?
to jest prawdziwy ból! Stworzyłem obiekt PSR7 \ Uri metodą statyczną 'withQueryValue' i przekazałem go do konstruktora. Ale to też nie działało! –