PHP で Swagger を使用して API ドキュメントを生成する方法
Web アプリケーションの継続的な開発により、API は最新の Web アプリケーション開発の標準の 1 つになりました。ただし、API の数と複雑さが増加するにつれて、API の保守と文書化はますます複雑になります。この問題を解決するために、Swagger が誕生しました。これは API ドキュメントを生成するためのツールであり、開発者が API の保守とドキュメント化を容易にすると同時に、視覚的なドキュメントやその他のさまざまな機能も提供します。この記事では、PHP で Swagger を使用して API ドキュメントを生成する方法について説明します。
まず、Swagger をインストールする必要があります。 Swagger には多くのバージョンと実装がありますが、ここでは Swagger-php を使用します。これは、Swagger を PHP コードに簡単に統合できるオープン ソースの PHP ライブラリです。 Composer を使用してプロジェクトに Swagger-php をインストールできます。
composer require zircote/swagger-php
Swagger-php をインストールしたら、API の Swagger 仕様の作成を開始できます。 Swagger 仕様は、エンドポイント URL、リクエストおよびレスポンス パラメータ、データ モデル、エラー コードなど、API の詳細をすべて記述する JSON または YAML ファイルです。 Swagger-php では、PHP アノテーションを使用して仕様を記述することができます。簡単な例を見てみましょう:
/** * @OAInfo(title="我的API", version="1.0") */ /** * @OAGet( * path="/users", * summary="获取所有用户", * @OAResponse(response="200", description="成功响应") * ) */ /** * @OAGet( * path="/users/{id}", * summary="获取用户详情", * @OAParameter(name="id", in="path", required=true, description="用户ID"), * @OAResponse(response="200", description="成功响应"), * @OAResponse(response="404", description="用户不存在") * ) */
この例では、@OA アノテーションを使用して Swagger 仕様を記述しました。 @OA は、Info、Get、Response、Parameter などのさまざまなタイプの Swagger 要素を定義するために使用される Swagger-php ライブラリ内の名前空間です。 @OAInfo アノテーションを使用して、タイトルやバージョンなどの API の基本情報を記述することができます。 @OAGet アノテーションでは、/users と /users/{id} という 2 つのエンドポイントを定義します。リクエストパラメータとレスポンスを記述し、成功とエラーのレスポンスコードを指定します。これはほんの小さな例ですが、他の @OA アノテーションを使用してより複雑な Swagger 仕様を記述したり、API の認証と認可を記述することもできます。
Swagger 仕様を作成したら、Swagger-php を使用してそれをビジュアル ドキュメントに変換できます。このために、Swagger 仕様をレンダリングするための HTML、CSS、および JavaScript ライブラリである Swagger-ui を使用できます。 PHP の Swagger-ui-php パッケージを使用して、Swagger-ui を統合できます。 Composer を使用してプロジェクトに Swagger-ui-php をインストールできます。
composer require swagger-api/swagger-ui
Swagger-ui-php をインストールしたら、Swagger-ui を PHP アプリケーションに統合できます。次の行を HTML コードに追加して Swagger-ui をロードできます:
<link rel="stylesheet" type="text/css" href="/vendor/swagger-api/swagger-ui/dist/swagger-ui.css"> <div id="swagger-ui"></div> <script src="/vendor/swagger-api/swagger-ui/dist/swagger-ui-bundle.js"></script> <script src="/vendor/swagger-api/swagger-ui/dist/swagger-ui-standalone-preset.js"></script> <script> window.onload = function() { // 使用来自后端的Swagger JSON文件构造请求 SwaggerUIBundle({ url: "/api/swagger.json", dom_id: '#swagger-ui', presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset // 用于额外的UI依赖 ], layout: "StandaloneLayout" }) } </script>
この例では、Swagger-ui の CSS ファイルと JavaScript ファイルをロードし、それらを DIV の -ui" ID でレンダリングします。要素。 JavaScript コードを使用してバックエンドから Swagger JSON ファイルを読み込み、SwaggerUIBundle を使用してそれを美しいドキュメントに変換します。
最後に、Swagger-ui が Swagger 仕様を読み込むために、Swagger JSON ファイルを返すルートをアプリケーションに追加する必要があります。
use OpenApiAnnotations as OA; $app->get('/api/swagger.json', function() use ($app) { $openapi = OpenApiscan([__DIR__ . '/routes']); return $app->json(json_decode($openapi->toJson())); }); // 或者用这种方式 /** * @OAServer(url="http://localhost:8000") */ /** * @OAInfo(title="我的API", version="1.0") */ /** * @OAGet( * path="/users", * summary="获取所有用户", * @OAResponse(response="200", description="成功响应") * ) */ /** * @OAGet( * path="/users/{id}", * summary="获取用户详情", * @OAParameter(name="id", in="path", required=true, description="用户ID"), * @OAResponse(response="200", description="成功响应"), * @OAResponse(response="404", description="用户不存在") * ) */ $app->get('/api/swagger.json', function() use ($app) { $openapi = OpenApiscan([__DIR__ . '/routes']); return $app->json(json_decode($openapi->toJson())); });
この例では、前の例とは異なり、OpenApi アノテーションを使用して Swagger 仕様を記述します。また、Swagger JSON ファイルを返すルートも追加しました。 OpenApiscan PHP 関数を使用してルート フォルダーをスキャンし、API 定義を Swagger JSON オブジェクトに変換します。その後、それが JSON 文字列に変換されてクライアントに返されます。
この記事では、Swagger-php と Swagger-ui を使用して PHP で API ドキュメントを生成する方法を学びました。 API の数と複雑さが増すにつれて、Swagger を使用すると、視覚的な API ドキュメントやその他のさまざまな機能を提供しながら、API の維持と文書化がより簡単になります。 PHP アノテーションを使用して Swagger 仕様を記述することにより、ドキュメントを手動で作成する必要がなくなり、コードがより明確になり、保守が容易になります。
以上がPHP で Swagger を使用して API ドキュメントを生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります
