首頁  >  文章  >  後端開發  >  Zttp簡化Guzzle呼叫實例分享

Zttp簡化Guzzle呼叫實例分享

小云云
小云云原創
2018-02-10 11:11:441951瀏覽

Zttp 是 Adam Wathan 為了讓程式碼更富表現力以及簡化常見用例而寫的一個 Guzzle 的封裝。在PHP 的專案中,如果你需要透過程式碼來發起HTTP 請求,相信很多人對GuzzleHttp 這個Package 很熟悉,然而其實在使用Guzzle 的時候,我們依然可以做得更簡便一點的,本文我們就和大家分享Zttp簡化Guzzle呼叫實例,希望能幫助大家。

這是使用Zttp 去Post 一個自訂頭部內容請求的一個例子:


$response = Zttp::withHeaders(['Fancy' => 'Pants'])->post($url, [
  'foo' => 'bar',
  'baz' => 'qux',
]);
 
$response->json();

如果用一個與Guzzle 差不多的東西寫這個請求的話,大概這樣寫:


$client = new Client();
$response = $client->request('POST', $url, [
  'headers' => [
    'Fancy' => 'Pants',
  ],
  'form_params' => [
    'foo' => 'bar',
    'baz' => 'qux',
  ]
]);
 
json_decode($response->getBody());

相較之下,Zttp 簡化了程式碼的寫法,還能很簡單地回傳JSON 格式的內容。

以下是使用Zttp 的幾個範例:

帶參數的Post 請求


#
$response = Zttp::asFormParams()->post($url, [
  'foo' => 'bar',
  'baz' => 'qux',
]);

Patch 請求


##
$response = Zttp::patch($this->url('/patch'), [
  'foo' => 'bar',
  'baz' => 'qux',
]);

Put 請求


#
$response = Zttp::put($this->url('/put'), [
  'foo' => 'bar',
  'baz' => 'qux',
]);

Delete 請求


#
$response = Zttp::delete($this->url('/delete'), [
  'foo' => 'bar',
  'baz' => 'qux',
]);

新增請求頭


#
$response = Zttp::accept('banana/sandwich')->post($url);

防止重定向

#$response = Zttp::withoutRedirecting()->get( $url);

相關推薦:

PHP HTTP 用戶端與框架:Guzzle

##關於guzzle安裝問題

laravel 怎麼使用guzzlehttp/guzzle

以上是Zttp簡化Guzzle呼叫實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn