インターネット技術の発展に伴い、フロントエンドとバックエンドを分離するアーキテクチャが Web 開発の主流になりました。フロントエンドとバックエンドが分離されているアーキテクチャでは、API はフロントエンドとバックエンドを繋ぐ重要なブリッジとなります。 API を構築する場合、PHP と GraphQL は 2 つの人気のあるテクノロジー フレームワークとして、開発者に広く好まれています。この記事では、PHPとGraphQLを使用してAPIを構築する方法を紹介します。
1. PHP 構築 API
PHP は、Web 開発で広く使用されているオープン ソースのスクリプト言語であり、その適用範囲は Web サイト開発、データベース アプリケーション、ログ処理、画像処理などをカバーしています。 API を構築する場合、PHP をバックエンド言語として使用し、フロントエンドと対話してデータをフロントエンドに送信できます。
まず、PHP 環境をインストールする必要があります。コマンド ライン ウィンドウで次のコマンドを入力すると、PHP がローカルにインストールされているかどうかを確認できます。
php -v
PHP のバージョン番号が表示されている場合は、PHP 環境がインストールされていることを意味します。インストールされていない場合は、[PHP 公式 Web サイト](https://www.php.net/) にアクセスしてダウンロードしてインストールする必要があります。
PHP では、Laravel、Symfony、Zend など、複数のフレームワークから選択できます。中でもLaravelはPHP Webアプリケーション開発で広く使われているフレームワークです。 Laravel フレームワークを使用して API を作成する手順は次のとおりです。
コマンドライン ウィンドウに次のコマンドを入力すると、「myapp」という名前の Laravel プロジェクトをローカルに作成できます:
composer create-project laravel/laravel myapp --prefer-dist
API を作成する前に、コントローラーを作成する必要があります。次のコマンドを入力して、コントローラーを作成できます。
php artisan make:controller MyController
MyController で、API のビジネス ロジック コードを作成できます。たとえば、MyController では、次のようにすべてのユーザー情報をクエリする API コードを作成できます。
public function getAllUsers() { $users = User::all(); // 查询所有用户信息 return response()->json($users); // 返回JSON格式的用户信息 }
このうち、User はユーザー モデルを表し、Laravel の Eloquent ORM を通じて定義できます。
Laravel では、API リクエストはルーティングを通じて処理できます。次のコードを使用して、作成した API にルーティングを追加できます。
Route::get('/users', 'MyController@getAllUsers');
このうち、「/users」はリクエストの URL アドレスを表し、「MyController@getAllUsers」はリクエストを処理するコントローラー メソッドを表します。リクエスト。
最後に、次のコマンドを使用して、作成した Laravel プロジェクトを実行できます:
php artisan serve
「http://localhost」にアクセスします。 : 8000/users' すべてのユーザー情報の JSON 形式データを表示します。
2. GraphQL 構築 API
RESTful API と比較した GraphQL の利点は、フロントエンドが必要なデータを取得するための正確なクエリを開始できるため、データベース クエリの負荷が軽減されることです。 。以下では、GraphQL を使用して API を構築する方法を紹介します。
GraphQL は独立した API サービスとして開始できるため、最初にインストールする必要があります。 GraphQL は、次のコマンドでインストールできます。
npm install graphql-yoga
GraphQL では、API インターフェイスを定義するスキーマを作成する必要があります。スキーマは、各タイプのデータのタイプ、各フィールドの戻り値のタイプ、およびメソッドの入力パラメータと出力パラメータを記述します。たとえば、このスキーマでは、すべてのユーザー情報をクエリするためのユーザー タイプとインターフェイスを定義する必要があります。コードは次のとおりです。
const typeDefs = ` type User { id: ID! name: String! email: String } type Query { getAllUsers: [User]! } `;
リゾルバはスキーマの各フィールドを実装し、データの取得方法を記述します。この例では、すべてのユーザー情報をクエリするためのリゾルバー コードは次のとおりです:
const resolvers = { Query: { getAllUsers: async () => { const users = await User.find(); return users; }, }, };
最後に、GraphQL サービスを実行します。次のコマンドを使用します。
const { GraphQLServer } = require('graphql-yoga'); const server = new GraphQLServer({ typeDefs, resolvers }); server.start({ port: 4000 }, () => console.log(`Server is running on localhost:4000`) );
「http://localhost:4000/graphql」にアクセスすると、GraphQL Playground ツールを使用して API をテストできます。
結論
この記事では、PHP と GraphQL を使用して API を構築する方法を紹介しました。 PHP では、Laravel フレームワークを使用して API を作成でき、GraphQL では、graphql-yoga を使用できます。この記事の内容を学ぶことで、読者は PHP と GraphQL を使用して API を構築する方法をある程度理解し、実際のプロジェクトに適用してみることができると思います。
以上がPHP と GraphQL を使用して API を構築する方法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。