今日のデジタル時代では、多くのアプリケーションは API (アプリケーション プログラミング インターフェイス) に依存して他のアプリケーションやサービスと対話します。従来の API は RESTful アーキテクチャを使用しますが、GraphQL は、より効率的で柔軟かつスケーラブルな API インターフェイス ソリューションを提供する新しい API クエリ言語です。この記事では、PHP と GraphQL を使用して API 駆動のアプリケーションを構築する方法を紹介します。
1.GraphQL とは何ですか?
GraphQL は API クエリ言語およびランタイム環境です。これは 2012 年に Facebook によって開発され、当初は内部 API 呼び出しの問題を解決するために開発されました。従来の RESTful API とは異なり、GraphQL を使用すると、アプリケーションは必要なデータを正確に記述し、そのデータのみを返すことができるため、より効率的なデータ クエリと応答時間を実現できます。
GraphQL の主な機能は次のとおりです:
1. 型システムを使用して API を定義し、クエリとミューテーションの入力と出力を定義します。
2. 柔軟なクエリ機能により、クライアントは追加のデータを返さなくても必要なデータをリクエストできます。
3. 複数のクエリ内での小規模なクエリのネストをサポートし、サーバーとのデータ送信の数を削減します。
4. API を迅速に開発および保守できる機能を提供します。
2. なぜ PHP と GraphQL を使用するのでしょうか?
PHP は、幅広いアプリケーション分野と強力なコミュニティ サポートを備えた人気の Web 開発言語です。 GraphQL と組み合わせることで、Web 開発用に、より柔軟で効率的で保守が容易な API インターフェイス ソリューションを提供できます。
さらに、GraphQL は、PHP、JavaScript、Java、Python などを含む複数のプログラミング言語をサポートしています。同時に、WebonyxGraphQL、YoushidoGraphQL など、PHP での GraphQL 実装に利用できるオープン ソース プロジェクトが多数あります。これらのプロジェクトは、開発者が GraphQL を使用して API インターフェイスを実装するための強力なツールとソリューションを提供します。
3. PHP と GraphQL を使用して API 駆動型アプリケーションを構築する
以下では、PHP と GraphQL を使用して単純な API 駆動型アプリケーションを構築する方法を示します。
1. 依存関係をインストールします
コンポーザー ツールを使用して PHP 依存関係パッケージを管理します。ターミナルで次のコマンドを実行すると、GraphQL をすばやくインストールできます:
composer require webonyx/graphql-php
2. GraphQL スキーマ
GraphQL スキーマは API エンドポイントの中核であり、クエリ、ミューテーション、型などを定義し、クライアントに提供します。 WebonyxGraphQL ツールキットは、PHP でスキーマを作成、解析、検証するために使用できます。
簡単なスキーマの例:
use GraphQLTypeDefinitionObjectType; use GraphQLTypeDefinitionType; $queryType = new ObjectType([ 'name' => 'Query', 'fields' => [ 'echo' => [ 'type' => Type::string(), 'args' => [ 'message' => Type::string() ], 'resolve' => function ($root, $args) { return $args['message']; } ] ] ]);
上記のコードは、エコー フィールドを持つ単純なクエリ タイプを作成します。このフィールドはメッセージ パラメーターを受け取り、パラメーターをそのまま残します。
3. GraphQL サービスの開始
GraphQL サービスを開始するには、以前に作成したスキーマを GraphQL サービスに渡す必要があります。これは、GraphQL が提供するserve メソッドを呼び出すことで実現できます。
use GraphQLGraphQL; use GraphQLTypeSchema; $schema = new Schema([ 'query' => $queryType ]); $input = file_get_contents('php://input'); $json = json_decode($input, true); $query = isset($json['query']) ? $json['query'] : null; $variableValues = isset($json['variables']) ? $json['variables'] : null; $result = GraphQL::executeQuery($schema, $query, null, null, $variableValues); $output = $result->toArray(); header('Content-Type: application/json; charset=UTF-8'); echo json_encode($output);
4. GraphQL API へのアクセス
GraphQL サービスが開始されると、任意の HTTP クライアントを使用してアクセスできます。次の例は、curl を使用して GraphQL API をリクエストする方法を示しています:
curl -X POST -H 'Content-Type: application/json' --data '{ "query": "{ echo(message: "Hello, GraphQL!") }" }' http://localhost:8080/graphql
上記のコマンドは、次の JSON 応答を返します:
{ "data": { "echo": "Hello, GraphQL!" } }
上記の例では、API を構築する方法を示しました。 PHP および GraphQL アプリケーションを使用した API 駆動。 GraphQL の効率性、柔軟性、スケーラビリティにより、最新の API を構築するのに優れた選択肢となり、PHP の強力なパフォーマンスと幅広いアプリケーションにより理想的な開発言語となります。
以上がPHP と GraphQL を使用して API 駆動のアプリケーションを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。