LoginSignup
11
9

More than 3 years have passed since last update.

【PHP】API実行ツールを作ってみよう(その1)

Last updated at Posted at 2021-01-09

はじめに

PHPでツール作成の一回目です。
今回はPHPを使ってAPIツールを作成していきたいと思います。
クライアント側(データ送信)とサーバ側(データ受信)があるので、それぞれ作成していきます。

クライアント

クライアント側はChrome拡張機能のTalend API Tester を使用します。

1.Talend API Tester へアクセスし、右上の「Chromeに追加」のボタンを押下しインストール

qiita_01.png

2.Chromeの拡張機能にTalend API Testerが追加されているのでアイコンをクリック
qiita_02.png

3.このような画面が表示されれば起動成功です
qiita_03.png
本来であればこの後、このツールを使ってサーバへの送信URLやパラメータを設定していくのですが、
まだサーバ側が出来ていないので一旦クライアントはここまでとします。

サーバ

続いてサーバ側を作成していきます。
こちらがPHPになります。

1.「c:¥xampp¥htdocs」フォルダに「api」フォルダを作成します
qiita_04.png

2.「api」フォルダ内に「server.php」ファイルを作成します
中身は下記になります

server.php
<?php

// パラメータチェック
if( !isset($_REQUEST['name']) ){
    echo "Error:nameパラメータが存在しません";
    exit;
}
$name = $_REQUEST['name'];

// クライアントからのデータをテキストファイルへ出力
// ※ファイル名が被らないようにするため、現在日時+ミリ秒でファイル名を生成
$outputFile = "".date("Y-m-d_His")."_".substr(explode(".", (microtime(true) . ""))[1], 0, 3).".txt";
file_put_contents( $outputFile, $name );

// レスポンス
echo "Success";
?>

コード解説

  • 2~6行目・・クライアントから送られてきているパラメータが存在しているかチェックし、存在しなかったらエラーメッセージを表示し終了しています。
  • 7行目・・クライアントからの送信データを取得しています。
  • 9~12行目・・クライアントからの送信データをテキストファイルへ出力しています。
  • 14~15行目・・クライアントへレスポンスを返しています。

クライアント(続き)

これでサーバ側が出来たので、クライアントからサーバに対してデータを送信してみましょう。

1.Talend API Testerを起動し、MY DRIVEの右側の「⋮」を押し、「Add a project」ボタンを押下
qiita_cl_01.png

2.プロジェクト作成ダイアログが開くので、Name欄に「API」、その下のチェックボックスを外し、「Create」ボタンを押下
qiita_cl_02.png

3.MY DRIVEに「API」が出来るので、右側の「⋮」を押し、「Add a request」ボタンを押下
qiita_cl_03.png

4.リクエストパラメータをセット
①「GET」を選択します
②「https://localhost/api/server.php」と入力します
③「QUERY PARAMETERS」を押下し、下の入力欄に「name」「テスト」と入力します
④URLの末尾に「?name=テスト」が追加されることを確認します
⑤「Send」ボタンを押下します
qiita_cl_04.png

クライアント動作確認

・「Send」ボタン押下後、画面下のResponseに「200 OK」が表示されていて、
右下の「BODY」に「Success」と表示されていれば成功しています
qiita_cl_05.png

サーバ動作確認

1.実行日時のファイル名でテキストファイルが作成されていることを確認
qiita_sv_01.png

2.テキストファイルを開き、「テスト」の文字列が記載されていることを確認
qiita_sv_02.png

最後に

このようなAPI実行は実際の業務でも割と使うことがあるかと思います。
次回は、クライアント部分をPHPを使って作成したいと思います。

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9