超簡単!PHPでのWebAPIの作り方とその利用方法【現役エンジニアが解説】

PROGRAM

今回は、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";
}
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を中心にどの言語でも書かれていてもおかしくありません。