ホームページ  >  記事  >  バックエンド開発  >  PHP で RESTful API 仕様を使用して API を作成する方法

PHP で RESTful API 仕様を使用して API を作成する方法

WBOY
WBOYオリジナル
2023-06-18 23:33:491290ブラウズ

Web 開発において、API は非常に重要な概念です。その中でも、RESTful API は最も人気のある API 設計スタイルの 1 つになっています。 RESTful API は、開発者が優れたスケーラビリティと容易なメンテナンスを備えた Web サービスを構築するのに役立つ一連の単純かつ明確なルールと考えることができます。

PHP は Web 開発に広く使用されているプログラミング言語であるため、PHP で RESTful API 仕様を使用して API を記述する方法は非常に重要なトピックです。この記事では、PHP で RESTful API 仕様を使用して API を作成する方法を紹介し、いくつかのベスト プラクティスとツールを提供します。

  1. REST について理解する

まず、REST に関連するいくつかの概念と原則を理解することが非常に重要です。 REST は Representational State Transfer の略で、「プレゼンテーション層状態転送」の略で、ロイ フィールディングによって 2000 年の博士論文で提案されました。 REST は、HTTP プロトコルに基づいて、システムがクライアントとサーバー間でどのように対話するかを記述する一連の仕様を提供します。これらの規定は RESTful スタイルと呼ばれます。

RESTful API は次の原則に基づいています:

  • クライアントとサーバーの分離
  • ステートレス
  • キャッシュ可能
  • 統一インターフェイス
  • 階層化システム

RESTful API の理解に基づいて、実装を開始できます。

  1. HTTP 動詞の使用

RESTful API は、カスタム プロトコルを使用するのではなく、HTTP プロトコルの動詞を使用して、サーバーが実行する必要があるアクションを指定します。 RESTful API では、HTTP 動詞はアプリケーションのさまざまなハンドラーでキーワードとして使用されます。

HTTP プロトコルで一般的に使用される動詞は次のとおりです。

  • GET (リソースの取得)
  • POST (リソースの作成)
  • PUT (リソースの更新) )
  • DELETE (リソースの削除)

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 など) を追加できることに注意してください。あなたの要望 。

  1. URL を使用してリソースを識別する

RESTful API の焦点はリソースであり、リソースは URL によって識別できます。優れた RESTful API には、次の特性が必要です。

  • URL は、アクセスするリソースを明確に表す必要があります。
  • URL は可読性が高い必要があります。
  • リソースを説明するには名詞を使用する必要があります。

たとえば、次の URL はすべてのユーザーを取得するための RESTful API です:

/users

ここで、users はリソース、/users は完全なものです。リソースの URL。

別の例は上記の URL に基づいており、次のようにユーザーの ID を使用して単一のユーザーを識別できます。

/users/{id}

where { id} は、実際のユーザー ID に置き換えることができるプレースホルダーです。

PHP は $_SERVER['REQUEST_URI'] 変数を使用して完全な URL を取得します。 explode() 関数を使用すると、URL をより管理しやすい項目に分割できます。

  1. 応答ステータス コード

RESTful API では、リクエストに対する応答には、操作の成功または失敗を示すステータス コードが常に含まれている必要があります。 HTTP プロトコルの一般的なステータス コードの一部を次に示します。

  • 200 – OK。操作が成功し、結果が返されたことを示します。
  • 201 – CREATED。リソースが正常に作成されたことを示します。
  • 400 – BAD REQUEST。リクエストが無効であるか、解析できないことを示します。
  • 401 – UNAUTHORIZED、不正アクセスを示します。
  • 404 – NOT FOUND。要求されたリソースが存在しないことを示します。
  • 500 – 内部サーバー エラー。サーバー障害を示します。

PHP では、header() 関数を使用して応答ステータス コードを設定できます。例:

http_response_code(200);
? >

  1. 応答形式

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);
?>

  1. フレームワークを使用する

RESTful API を実装する場合、フレームワークを使用すると開発プロセスの負荷が大幅に軽減されます。 PHP には選択できる RESTful フレームワークが多数あり、最も人気のあるフレームワークには次のものがあります。

  • Laravel
  • Slim
  • Lumen
  • Symfony
  • Zend
#ほとんどのフレームワークは、ルーティング、リクエスト処理、応答の書式設定、データ検証などの多くの強力な機能を備えた RESTful API の組み込みサポートを提供します。

  1. API の保護

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。