PHPでWebAPIを呼び出してみる
0.どういう記事?
サンプル記事を参考にPHPを触るにあたって疑問に思った用語や関数を調べる
実験的にAPIを実行してみる
1.環境
VsCode上でPHPServerを起動できる状態にしておく
PHPをローカルPC上にインストール
2.curlとfile_get_contentsの違い
参考サイトではfile_get_contensを使っているが、curlを使うのが一般的らしいので、違いを調査。
file_get_contents()関数とは
fileと付いてはいるがURLやストリームも読み込める汎用関数。
getメソッド以外にも使える。
取得した内容を文字列として読み込む。
取得した後、json_decode()などを使って整形したいデータに変換する。
curlを使うよりも、phpが事前に用意してくれているfile_getcontents()などを使った方が楽。
通信量が多い、重い処理はcURLが良いらしい。
3.連想配列とは
JavaやkotlinにおけるMapのようなもの。
キーをインデックスではなく文字列または数値をキーとして使用できる。
4.ストリームコンテキストとは
コンテキストとはストリームの挙動を変えたり拡張するパラメーターとオプションの集合体
stream_context_create()でオプションを指定できる。ほとんどのストリーム生成関数に渡すことができる。(fopen(),file(),file_get_cocntents()など)
ストリームって何だ?
入出力を扱う機能。
file_get_contents()は全データを取得してくる関数なので実はストリーム処理じゃない。大きいファイルだとPHPのメモリが不足してエラーが発生する。