超簡単!PHPでのWebAPIの作り方とその利用方法【現役エンジニアが解説】
今回は、WebAPIについて、PHPでの作成方法と利用方法に分け、簡単に解説していきます。
PHPでWebAPIを作成する方法
まず、APIとは、アプリケーションインターフェースの略であり、何らかの処理の窓口となるものです。
それにWebが付くことによって、WebAPIは、Webサーバに設置してあるアプリケーションインターフェースを表す用語になります。
このWebAPIでは、通常JSONと呼ばれるデータ形式でデータのやり取りを行うことが一般的ですが、受け取りはフォームデータであることもよくあります。
header('Content-Type: text/json; charset=UTF-8'); $data = array(); if(isset($_GET["no"]) && ctype_digit($_GET["no"])) { $data["status"] = "200"; $data["new_no"] = (int)$_GET["no"]+1 } else { $data["status"] = "500"; } header('content-type: application/json; charset=utf-8'); echo json_encode($data);
上記のコード例では、PHPで、データの受け取りをフォームデータ(GETメソッド)、データの応答をJSONデータでやり取りしています。
このように、Webサーバ上で、受け取ったデータをもとにして何らかの処理を加えてJSONで返す仕組みを作るだけでも、立派なWebAPIと呼ぶことができます。
PHPでWebAPIにアクセスする方法
WebAPIを作成した後は、WebAPIに接続して利用できないと意味がないでしょう。
ここでは、以下に先程作成したWebAPIに接続し、その処理結果を見て出力する内容を変えるPHPのプログラムを紹介します。
$num = 1; $url = "webapi.php?no={$no}"; $data = json_decode(file_get_contents($url), true); if($data['status'] == "200") { echo $data['new_no']; } else { echo "エラー"; }
先程のWebAPIはデータの受け取りはGETパラメータでしたので、利用する際はJSON化せずにそのままURLに埋め込み送信します。
一方で、戻り値はJSON化されているので、json_decodeという関数を用いて、返されたJSONを連想配列にして中身を開けていっています。
WebAPIの実用例
WebAPIは現代のありとあらゆる場面で使われています。
例えば、ホームページやWebアプリケーション以外にも、インターネットに接続して遊ぶゲーム等の端末にも必ず通信相手のWebサーバが存在しています。
これらのWebサーバにはWebAPIが必ずあり、ゲームであれば、プレイヤーがアクションを起こすたびにWebAPIと通信して、サーバ側は処理をし、ステータスを返しています。
したがって、WebAPIを開発するスキルがあれば、ほとんどのWeb系の開発に携わることができるため、仕事に困ることはなく、スキルを大いに活用することができるでしょう。
今回はPHPでのサンプルコードを紹介しましたが、WebAPIはPHP以外にもJavaで開発されることもありますし、一方でWebAPIを利用する側のプログラムはPHPやJavaScriptを中心にどの言語でも書かれていてもおかしくありません。