PHP8でcurl API連携
cURLでのHTTPリクエスト
PHP8 で外部API連携を行う際、最もポピュラーな手段は cURL ライブラリです。cURL は低レベルの HTTP リクエストを扱えるため、REST API へのアクセスに最適です。以下のコードは、GET リクエストを送信し、レスポンスを文字列として取得する基本的な例です。
ここで重要なのは CURLOPT_RETURNTRANSFER を true に設定する点です。これにより、curl_exec は実際のレスポンス文字列を返し、直接出力されるのを防ぎます。
JSONレスポンスの処理
多くの Web サービスは JSON 形式でデータを返します。PHP8 では json_decode を使って簡単にオブジェクトや連想配列に変換できます。以下は、先ほど取得したレスポンスを解析し、ユーザー名を表示する例です。
エラーハンドリングを入念に行うことで、API通信時の不具合を早期に検知できます。
実践例: Webサービスとの連携
実際の業務では、外部APIから取得したデータを自社のデータベースに保存したり、別のサービスへ転送したりします。以下は、取得したユーザー情報を MySQL に挿入する簡易スクリプトです。
PDO::ERRMODE_EXCEPTION,
]);
$stmt = $pdo->prepare('INSERT INTO users (id, name, email) VALUES (:id, :name, :email)');
foreach ($data['users'] as $user) {
$stmt->execute([
':id' => $user['id'],
':name' => $user['name'],
':email' => $user['email'],
]);
}
?>
このように、PHP8 と cURL を組み合わせることで、REST API からのデータ取得からデータベースへの保存まで、シームレスに連携できます。API通信を行う際は、必ず HTTPS を使用し、認証情報は安全に管理してください。
コメント
コメントを投稿