在請求一些接口直接使用的就是curl原生來請求的,今天咱們就使用Guzzle來發起請求。php
安裝Guzzle
安裝Guzzle的方法,在以前文章有寫過。直接在composer安裝列表裏邊搜索Guzzle,而後按照文檔進行安裝json
封裝請求代碼
安裝完以後就會在vendor目錄app
像這些請求都是放在base.php的文件裏邊,做爲基類composer
這兩個事必須引入的,一個是http的客戶端,一個是異常處理curl
那麼下面這個request的方法就是用來請求環信的接口的方法this
/** * author:咔咔 * * 功能請求 * @param $method * @param array $params * @param $options * @return array|mixed * @throws Error */ protected function _request($method, $url, $params = [], $options = []) { $client = new Client(); $header = [ 'Content-Type' => 'application/json', 'Accept' => 'application/json', ]; $token = $this->getToken(); $header['Authorization'] = "Bearer ${token}"; $data = ['connect_timeout' => 30, 'headers' => $header]; if ($method == 'GET') { $data['query'] = $params; } else { $data['json'] = $params; } $options && $data = array_merge($data, $options); $body = []; try { $res = $client->request($method, $url, $data); $body = \GuzzleHttp\json_decode($res->getBody()->getContents(), true); } catch (RequestException $e) { $info = \GuzzleHttp\json_decode($e->getResponse()->getBody()->getContents(), 1); throw new Error($info['error'], -1); } return $body; }
在這個方法中127行中,裏邊能夠帶一個參數也就是基礎的請求urlurl
baseUrl()這個方法就是一個基礎的url拼成的code
而後咱們在看一下Guzzle的文檔就能夠很清晰的看到他的實現方式,就是這個baseUrl()就是一個基礎的請求地址,而後根據咱們傳遞的接口地址在拼接上基礎地址就是直接發起請求token