摘要:原文在的項(xiàng)目中,如果你需要通過代碼來發(fā)起請求,相信很多人對這個(gè)很熟悉,然而其實(shí)在使用的時(shí)候,我們依然可以做得更簡便一點(diǎn)的,比如我們可以使用,這是基于的另外一個(gè)。
原文:https://www.codecasts.com/blo...
在 PHP 的項(xiàng)目中,如果你需要通過代碼來發(fā)起 HTTP 請求,相信很多人對 GuzzleHttp 這個(gè) Package 很熟悉,然而其實(shí)在使用 Guzzle 的時(shí)候,我們依然可以做得更簡便一點(diǎn)的,比如我們可以使用 Zttp,這是基于 Guzzle 的另外一個(gè) HTTP Package。
大致來看看 Zttp 的用法:
1.比如發(fā)送一個(gè)攜帶 headers 的 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 還是方便,Nice and clean!
2.攜帶 Form 表單參數(shù)的 POST 請求:
$response = Zttp::asFormParams()->post($url, [ "foo" => "bar", "baz" => "qux", ]);
3.發(fā)起 Patch 請求:
$response = Zttp::patch($this->url("/patch"), [ "foo" => "bar", "baz" => "qux", ]);
4.發(fā)起 PUT 請求:
$response = Zttp::put($this->url("/put"), [ "foo" => "bar", "baz" => "qux", ]);
5.發(fā)起 DELETE 請求:
$response = Zttp::delete($this->url("/delete"), [ "foo" => "bar", "baz" => "qux", ]);
6.添加一個(gè)可接受的 Header:
$response = Zttp::accept("banana/sandwich")->post($url);
7.阻止重定向:
$response = Zttp::withoutRedirecting()->get($url);
你可以看到,上面的這些事例代碼其實(shí)可以包含了大部分的應(yīng)用場景,如果說你還需要更復(fù)雜的使用方式,你可以到 Github kitetail/zttp 查看;而且,即使你還想使用 Guzzle,你依然是可以使用 Guzzle 的,所以我可以負(fù)責(zé)任地向大家推薦一下這個(gè) Zttp 的 package.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/23059.html
摘要:使用了來表示該,該接口也是對的抽象,暴露了一些常用方法判斷是否滿足要求的方法的讀寫相關(guān)操作獲取元數(shù)據(jù)方法操作指針相關(guān)方法等等。本篇主要學(xué)習(xí)下相關(guān)使用。后續(xù)還會(huì)分享相關(guān)使用,到時(shí)見。 說明:本文主要學(xué)習(xí)guzzlehttp/guzzle package的使用,該package提供了一套發(fā)送HTTP請求API,就像phpunit package, mockery package, symf...
摘要:年開發(fā)者應(yīng)該熟練使用,并且知道版本更新內(nèi)容。對開發(fā)和運(yùn)維人員來說,最希望的就是一次性創(chuàng)建或配置,可以在任意地方正常運(yùn)行。是標(biāo)準(zhǔn)規(guī)范,是開發(fā)的實(shí)踐標(biāo)準(zhǔn)。對開發(fā)者來說語言推薦和,全棧的選擇非常多,推薦熱門的 前言 在前天(2018-08-02)已經(jīng)發(fā)布了PHP 7.3.0.beta1 Released 如果你還沒有使用 PHP7 ,那真的很遺憾。2018年P(guān)HP開發(fā)者應(yīng)該熟練使用 PHP7...
摘要:發(fā)送接受是個(gè)可以訪問請求的原始數(shù)據(jù)的只讀流。在之前打開的數(shù)據(jù)流只能讀取一次數(shù)據(jù)流不支持操作。不過,依賴于的實(shí)現(xiàn),請求體數(shù)據(jù)被保存的時(shí)候,它可以打開另一個(gè)數(shù)據(jù)流并重新讀取。 現(xiàn)在微服務(wù)中,很多API由于需要傳遞的參數(shù)較多所以要求用包含所有參數(shù)的JSON數(shù)據(jù)作為POST請求的請求體來替代FormData傳遞參數(shù)的方式,在參數(shù)量較多時(shí)POST JSON要比POST FormData便于開發(fā)和...
摘要:是一個(gè)非常流行的的客戶端,現(xiàn)在各大廠的也都開始基于開發(fā),因?yàn)橹恢С值膮f(xié)程,而默認(rèn)是使用擴(kuò)展的,所以開發(fā)了,能在不修改源碼的情況下讓協(xié)程化。 Guzzle 是一個(gè)非常流行的 PHP 的 HTTP 客戶端,現(xiàn)在各大廠的 SDK 也都開始基于 Guzzle 開發(fā),因?yàn)?Swoole 只支持 PHP Stream 的協(xié)程 Hook ,而 Guzzle 默認(rèn)是使用 cURL 擴(kuò)展的,所以 Mix...
摘要:發(fā)送請求的方式那么這里整理一下除了使用外發(fā)送請求的方式。以一個(gè)請求為例關(guān)于的介紹文章方式使用套接字建立連接,拼接協(xié)議字符串發(fā)送數(shù)據(jù)進(jìn)行請求。一個(gè)方式的例子本文介紹了發(fā)送請求的幾種不同的方式。 (原文地址:https://blog.tanteng.me/2017/... 副標(biāo)題:cURL庫和Guzzle HTTP客戶端區(qū)別 PHP 開發(fā)中我們常用 cURL 方式封裝 HTTP 請求,什么...
閱讀 1120·2023-04-26 02:46
閱讀 624·2023-04-25 19:38
閱讀 639·2021-10-14 09:42
閱讀 1234·2021-09-08 09:36
閱讀 1354·2019-08-30 15:44
閱讀 1319·2019-08-29 17:23
閱讀 2237·2019-08-29 15:27
閱讀 801·2019-08-29 14:15