ホームページ  >  記事  >  バックエンド開発  >  PHP と GraphQL を使用して API 駆動のアプリケーションを構築する方法

PHP と GraphQL を使用して API 駆動のアプリケーションを構築する方法

WBOY
WBOYオリジナル
2023-05-25 08:41:021380ブラウズ

今日のデジタル時代では、多くのアプリケーションは 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 サイトの他の関連記事を参照してください。

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