PHPって?
PHPというのは、Webサーバー上で動くプログラミング言語です。
Webサーバー上のリクエストに対して動的にHTMLを生成することができます。
まずは物は試しです。
なお、今回はPHPの環境構築の話は長いのでしません。
書いてみよう
<?php
echo "Hello, World";
?>
これでアクセスしてみてください。
ちゃんとHello, Worldと表示されたでしょうか。
phpではecho
関数を使用することで、文字列を出力することができます。
ちょっとした計算をしてみよう
<?php
echo 1 + 1;
?>
これでアクセスしてみてください。
なんと、PHPでは計算もできるのです!
...そりゃ、プログラミング言語だからな。
変数を使ってみよう
<?php
$var = "Hello, World";
echo $var;
?>
phpではこのように$変数名
とすることで変数を宣言することができます。
また、echo
関数では変数をそのまま出力することができます。
配列を使ってみよう
<?php
$var = array("Hello", "World");
echo $var[0] . ", " . $var[1];
?>
phpではこのようにarray()
とすることで配列を宣言することができます。
また、配列の要素には$配列名[インデックス]
とすることでアクセスすることができます。
割とここら辺はそこら辺の言語と同じですね。
じゃあ応用してPHPをAPIエンドポイントとして使ってみよう
<?php
if(isset($_GET['username'])){
$data = array(
'status' => TRUE,
'content' => 'Hello, ' . $_GET['username'] . '!',
);
} else {
$data = array(
'status' => FALSE,
'content' => 'No Username',
);
}
$jsonData = json_encode($data);
header('Content-Type: application/json');
echo $jsonData;
?>
まず、$_GET
というのは、GETリクエストのパラメータを取得するための変数です。
http://example.com/?username=example
というURLにアクセスした場合、$_GET['username']
はexample
という値を持ちます。
isset
では、変数が存在するかどうかを判定することができます。
それをifで判定して、存在する場合はHello, {username}!
という文字列を、存在しない場合はNo Username
という文字列をarray
で作成した連想配列に格納します。
また、json_encode
というのは、配列をJSON形式の文字列に変換する関数です。
これを使うことで、PHPで作成した連想配列をJSON形式の文字列に変換することができます。
最後に、header
関数を使うことで、レスポンスヘッダーを設定することができます。
今回はContent-Type
というレスポンスヘッダーにapplication/json
という値を設定しています。
そしてそれをecho
関数で出力することで、APIエンドポイントとして使用することができます。
こんな感じで、phpは優秀なAPIエンドポイントとして使うことができます。
まとめ
といっても私はこの記事を書くにあたって初めてPHPを触ったので、この使い方が正しいのかどうかはわかりません。
まぁでも、PHPはWebサーバー上で動くプログラミング言語なので、APIエンドポイントとして使うのは十分にありだと思います。(ってGH Copilotが言ってます。)
というわけで!!!!
ついに!!!!!!!!!!!!
2023/12/25、5:32をもって、アドベントカレンダー完走です!!!!!!!!!
というわけで、「phpでも使ってみない?」
やったああああ!!!!!!
ついにアドカレ完走して寝れますよ!!
ほぼオールじゃねぇか!!!