2017-11-24 3 views
-2

Ist es möglich, ein Array von Daten für GET Anfrage in GuzzlePHP Client übergeben?Übergeben Array für GET Daten in GuzzlePHP

Ich habe nichts in der Dokumentation und auf Stack Overflow gefunden.

dh dies nicht funktioniert, wie ich erwarten:

// first level of this array is refered as 
// request settings: headers, redirects, etc. 
$array = [ 
    'this will be rendered as request settings', 
    'data' => [ 
     'var1' => 'value1', 
     'var4' => 'value4', 
    ], 
]; 

$client = new \GuzzleHttp\Client(); 
$res = $client->request('GET', '/redirect/3', $array); 

Edit: Für alle, die das Problem nicht verstehen kann:

GET-Parameter übergeben werden, nicht in diesem Antrag , daher bekomme ich nur diese URL-Struktur:

http://host/redirect/3 

Erwartet :

http://host/redirect/3?var1=value1&var4=value4 
+1

Welche Fehler haben Sie bekommen? – pr1nc3

+0

Wer hat irgendwelche Fehler erwähnt? – omerowitz

+0

Lesen Sie die Frage erneut. – omerowitz

Antwort

2

Wenn Sie eine manuelle öffnen, zum Beispiel http://docs.guzzlephp.org/en/stable/quickstart.html#query-string-parameters werden Sie feststellen, dass Abfrageparameter sehen sollten unter query Schlüssel gesendet. So sollte Ihr Array sein:

$array = [ 
    'this will be rendered as request settings', 
    'query' => [ 
     'var1' => 'value1', 
     'var4' => 'value4', 
    ], 
]; 
+0

Ich habe meine Antwort Sekunden nach Ihrer gepostet. Ich werde deine Antwort akzeptieren. Vielen Dank. – omerowitz

0

Endlich gefunden. Einstellungen Schlüssel ist query Wenn anyone else es braucht:

$params = [ 
    'var1' => 'value1', 
    'var4' => 'value4', 
]; 

$client->request('GET', '/redirect/3', [ 
    'query' => $params 
]); 

Dies wandelt schließlich die URL meiner Anfrage in:

/redirect/3?var1=value1&var4=value4 
Verwandte Themen