Zttp è un nuovo package di Adam Wathan, un wrapper di Guzzle progettato per apportare una sintassi chiara e dunque semplificare l’utilizzo di Guzzle nei casi di utilizzo comuni.
Vediamo nel dettaglio Zttp
Ecco un esempio di una richiesta Post con un Header personalizzato:
1 2 3 4 5 6 |
$response = Zttp::withHeaders(['Fancy' => 'Pants'])->post($url, [ 'foo' => 'bar', 'baz' => 'qux', ]); $response->json(); |
Scrivendolo con Guzzle il risultato sarebbe questo:
1 2 3 4 5 6 7 8 9 10 11 12 |
$client = new Client(); $response = $client->request('POST', $url, [ 'headers' => [ 'Fancy' => 'Pants', ], 'form_params' => [ 'foo' => 'bar', 'baz' => 'qux', ] ]); json_decode($response->getBody()); |
Come puoi notare, Zttp semplifica il codice per creare la Request e restituisce automaticamente il Response JSON.
Ecco qualche altro esempio:
Perform a Post with Form Params
1 2 3 4 |
$response = Zttp::asFormParams()->post($url, [ 'foo' => 'bar', 'baz' => 'qux', ]); |
Patch Request
1 2 3 4 |
$response = Zttp::patch($this->url('/patch'), [ 'foo' => 'bar', 'baz' => 'qux', ]); |
Put Request
1 2 3 4 |
$response = Zttp::put($this->url('/put'), [ 'foo' => 'bar', 'baz' => 'qux', ]); |
Delete Request
1 2 3 4 |
$response = Zttp::delete($this->url('/delete'), [ 'foo' => 'bar', 'baz' => 'qux', ]); |
Aggiungere un Header Accept
1 |
$response = Zttp::accept('banana/sandwich')->post($url); |
Evitare redirect
1 |
$response = Zttp::withoutRedirecting()->get($url); |
Ci sono altri esempi nel Zttp test file. Il package è ancora in fase di sviluppo, per i retroscena potete anche ascoltare la Full Stack Radio 😉 .
Per altre informazioni potete fare riferimento al progetto su GitHub.