[雜談]初學Laravel--簡單的API串接法

Leo Lin
SparkAmpLab
Published in
2 min readMay 28, 2018

什麼是Laravel?

Laravel是一種PHP的framework,回憶過去,自己寫PHP總是跟HTML混在一起,一個網頁一個PHP,這樣雖然可以自由自訂門檻不高,但是相對的也有諸多缺點,像是code雜亂複雜,維護不易,駭客也能透過網頁的副檔名針對所使用的後端技術進行攻擊,而且也無法使用一些前人高手所寫好的模組功能,全部得自己手刻,開發效率低,因此,Laravel就誕生啦!

Laravel使用 PHP 最新 OOP 語法和Composer 管理套件,能夠使用別人定義好的功能,擁有MVC 架構,因此網頁不再是一個網頁一個檔增加安全性及結構分工,也規定好了framework維護起來更加容易,融合 RoR 與 ASP.NET MVC 風格、支援單元測試,這些與傳統 PHP 的寫法大相逕庭,是一個更優雅且生產力更高的全新 PHP,不過要先了解一些定義好的結構跟寫法,較難上手。

所以,有興趣的朋友,趕緊來試試感受一下強大方便的PHP吧!

回到正題,今天要來簡易介紹GuzzleHttp,當你建好一個Laravel專案,想要串接api、送出些http request的時候,他將是你的好朋友!

首先,先確認GuzzleHttp有沒有存在? 沒有的話裝一個吧。

composer require guzzlehttp/guzzle

再來,回到你的網頁程式碼中,簡單的幾行:

$client = new GuzzleHttp\Client(); 
$result = $client->post('api-uri', [
'form_params' => [
'data-name' => 'value'
]
]);

如此一來,你就能夠送出http request,並且接收回傳值$result進行操作啦~

如果想用JSON的方式來進行傳值的話,使用’json’來定義。
使用’headers’來定義header以及認證。

$client = new GuzzleHttp\Client(); 
$result = $client->post('api-uri', [
'headers' => ['Authorization'=>'your-key'
],
'json' => [
'data-name' => 'value'
]
]);

簡單的介紹就到這裡,其他更多的資訊,請參考 Guzzle Documentation

--

--

Leo Lin
SparkAmpLab

A newbie of software engineering who's trying to absorb everything!