記入日:2023-03-03 編集日:2023-03-03
SQL見るだけクエリ。今回は、PHPのlibcurlライブラリの使い方について考えてみようと思います。
この記事を読むと(約10分)
PHPのlibcurlライブラリを使って、APIでJSONをPHPで読み込む方法がイメージできます。
cURLとは、様々なプロトコル(通信手順)を用いてURLで示されるネットワーク上の場所との間でデータの送受信を行うコマンドラインツールやプログラムのことです。PHPでは、libcurlというライブラリを使ってcURLの機能を利用できます。
cURLのAPIでJSONをPHPで読み込むには、以下のような手順が必要です。
具体的なコード例は以下のようになります。
// cURLセッションを初期化 $ch = curl_init(); // オプションを設定 curl_setopt($ch, CURLOPT_URL, "https://example.com/data.json"); // JSONファイルのURL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // データを文字列として返す // データを取得 $data = curl_exec($ch); // cURLセッションを終了 curl_close($ch); // JSON形式なら連想配列に変換 $array = json_decode($data, true); // 結果を表示 print_r($array);
curl_setopt関数は、cURLのオプションを設定するための関数です。
オプションには様々な種類がありますが、例えば以下の様なものがあります。
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- CURLOPT_CUSTOMREQUESTは、HTTPリクエストメソッドを指定するオプションです。
例えば、'GET'や'POST'などを指定できます。デフォルトでは、URLにクエリ文字列が含まれている場合はGETメソッド、
CURLOPT_POSTFIELDSが設定されている場合はPOSTメソッドになります。
- CURLOPT_HTTPHEADERは、HTTPヘッダーを指定するオプションです。
例えば、'Content-Type: application/json'や'User-Agent: curl/7.64.1'などを指定できます。
配列で複数のヘッダーを渡すことができます。
具体的なコード例は以下のようになります。
// cURLセッションを初期化 $ch = curl_init(); // オプションを設定 curl_setopt($ch, CURLOPT_URL, "https://example.com/data.json"); // JSONファイルのURL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // データを文字列として返す curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); // HTTPリクエストメソッドをGETに指定 $headers = array( 'Content-Type: application/json', // コンテントタイプをJSONに指定 'User-Agent: curl/7.64.1', // ユーザーエージェントをcurlに指定 ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // HTTPヘッダーを指定 // データを取得 $data = curl_exec($ch); // cURLセッションを終了 curl_close($ch); // JSON形式なら連想配列に変換 $array = json_decode($data, true); // 結果を表示 print_r($array);
その他、API-KEYなどをCURLOPT_HTTPHEADERで指定する場合もあります。
CURLOPT_HTTPHEADERは、HTTPリクエストにカスタムヘッダーを追加するためのオプションです。
例えば、以下のように書くと、API-KEYというヘッダーに値を設定して送信できます。
$ch = curl_init($url); $headers = array( 'API-KEY: xxxxxxxx' ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_exec($ch); curl_close($ch);
SQLの使いどころ
サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。
SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。
また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。
KK
機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。