FuelPHPでPOSTする

こんにちは、さるまりんです。

以前、PHPでcurlでPOSTする方法とfile_get_contents()でPOSTする方法について書かせてもらいました。

今回はFuelPHPのフレームワークを使ってPOSTする方法です。

FuelPHPでPOSTする

FuelPHPを使ってサーバーにデータをPOSTするには以下のようにします。

$url = '送り先URL';
$data = [];

// $dataに送るデータを詰めます
$data['name'] = 'salumarine';
$data['type'] = 'monkey';

// Requst_Curlを作ります
$curl = \Request::forge($url, 'curl');

// メソッドはPOSTです。
$curl->set_method('post');

// パラメタ$dataを設定します
$curl->set_params($data);

// 実行!
$response = $curl->execute()->response();

// レスポンスのステータスを確認
if ($response->status == 200)
{
    echo "ok!\n";

    // レスポンスの中身を表示
    print_r($response->body);
}

FuelPHPでPOSTをする際はRequest_Curlオブジェクトを作って、それにパラメタを設定したり、メソッドを設定したりして利用します。

実行は

$curl->execute()->response()

で、Responseオブジェクトを取得します。

HTTPステータスは$response->status、レスポンスのボディそのものは$response->bodyで取得できます。

呼び出した先がJSONを返却するAPIのとき、$response->bodyを連想配列に変換するのは次のようにします。

$result = \Format::forge($response->body,'json')->to_array();

フレームワークやライブラリって便利ですね。

読んでくださってありがとうございます。

それではまた!