Web 開発において、API は非常に重要な概念です。その中でも、RESTful API は最も人気のある API 設計スタイルの 1 つになっています。 RESTful API は、開発者が優れたスケーラビリティと容易なメンテナンスを備えた Web サービスを構築するのに役立つ一連の単純かつ明確なルールと考えることができます。
PHP は Web 開発に広く使用されているプログラミング言語であるため、PHP で RESTful API 仕様を使用して API を記述する方法は非常に重要なトピックです。この記事では、PHP で RESTful API 仕様を使用して API を作成する方法を紹介し、いくつかのベスト プラクティスとツールを提供します。
まず、REST に関連するいくつかの概念と原則を理解することが非常に重要です。 REST は Representational State Transfer の略で、「プレゼンテーション層状態転送」の略で、ロイ フィールディングによって 2000 年の博士論文で提案されました。 REST は、HTTP プロトコルに基づいて、システムがクライアントとサーバー間でどのように対話するかを記述する一連の仕様を提供します。これらの規定は RESTful スタイルと呼ばれます。
RESTful API は次の原則に基づいています:
RESTful API の理解に基づいて、実装を開始できます。
RESTful API は、カスタム プロトコルを使用するのではなく、HTTP プロトコルの動詞を使用して、サーバーが実行する必要があるアクションを指定します。 RESTful API では、HTTP 動詞はアプリケーションのさまざまなハンドラーでキーワードとして使用されます。
HTTP プロトコルで一般的に使用される動詞は次のとおりです。
PHP は $_SERVER['REQUEST_METHOD'] を使用して HTTP 動詞を取得し、リクエストの種類に応じて対応する操作を実行します。
たとえば、次のコードは、PHP を使用して基本的な RESTful API を実装する方法を示しています。
if ($_SERVER['REQUEST_METHOD'] === ' GET ') {
// GET リクエストのオペレーションを実装する
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
// POST リクエストのオペレーションを実装する
} elseif ($ _SERVER ['REQUEST_METHOD'] === 'PUT') {
// PUT リクエスト操作を実装します
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
// 実装しますDELETE リクエスト操作
} else {
// 不正なリクエストを処理します
}
?>
以下に従って、他の HTTP 動詞 (PATCH や HEAD など) を追加できることに注意してください。あなたの要望 。
RESTful API の焦点はリソースであり、リソースは URL によって識別できます。優れた RESTful API には、次の特性が必要です。
たとえば、次の URL はすべてのユーザーを取得するための RESTful API です:
/users
ここで、users はリソース、/users は完全なものです。リソースの URL。
別の例は上記の URL に基づいており、次のようにユーザーの ID を使用して単一のユーザーを識別できます。
/users/{id}
where { id} は、実際のユーザー ID に置き換えることができるプレースホルダーです。
PHP は $_SERVER['REQUEST_URI'] 変数を使用して完全な URL を取得します。 explode() 関数を使用すると、URL をより管理しやすい項目に分割できます。
RESTful API では、リクエストに対する応答には、操作の成功または失敗を示すステータス コードが常に含まれている必要があります。 HTTP プロトコルの一般的なステータス コードの一部を次に示します。
PHP では、header() 関数を使用して応答ステータス コードを設定できます。例:
http_response_code(200);
? >
RESTful API のもう 1 つの重要なポイントは、応答形式を決定することです。一般的に使用される応答形式には JSON と XML があり、どちらも可読性が高く、フロントエンドで広く使用されています。
PHP では、 json_encode() 関数を使用して応答データを JSON 形式に変換できます。次のコードは、これを使用して JSON 応答を返す方法を示しています:
$data = array('name' => 'John Doe', 'age' => 20 ) ;
header('Content-Type: application/json');
echo json_encode($data);
?>
RESTful API を実装する場合、フレームワークを使用すると開発プロセスの負荷が大幅に軽減されます。 PHP には選択できる RESTful フレームワークが多数あり、最も人気のあるフレームワークには次のものがあります。
API の保護は、API 設計の重要な部分です。 PHP では、さまざまな認証手法を使用して API を保護できます。 JWT (JSON Web Tokens) は、可読性と柔軟性に優れた JSON をトークン形式として使用する一般的な認証テクノロジです。 PHP には、このための一般的なライブラリである JWT フレームワークもあり、JWT トークンの作成と検証に使用できます。
もう 1 つの一般的に使用される方法は、OAuth 2.0 認証プロトコルを使用することです。これは複雑ですが、より安全です。どのような認証テクノロジーを使用する場合でも、API に適切な認証と認可を実装する必要があります。
結論
この記事では、RESTful API 仕様を使用して PHP で API を作成する方法を紹介します。 HTTP 動詞の使用、リソースを識別するための URL の使用、応答ステータス コードと形式、フレームワークの使用、API の保護など、RESTful API の原則とベスト プラクティスを理解する必要があります。これらのベスト プラクティスに従うことで、スケーラブルで保守が容易な RESTful API を構築できます。
以上がPHP で RESTful API 仕様を使用して API を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。