ホームページ > バックエンド開発 > PHPチュートリアル > PHP と GraphQL を使用して API を構築する方法を学ぶ

PHP と GraphQL を使用して API を構築する方法を学ぶ

PHPz
リリース: 2023-06-19 15:42:01
オリジナル
1189 人が閲覧しました

インターネット技術の発展に伴い、フロントエンドとバックエンドを分離するアーキテクチャが Web 開発の主流になりました。フロントエンドとバックエンドが分離されているアーキテクチャでは、API はフロントエンドとバックエンドを繋ぐ重要なブリッジとなります。 API を構築する場合、PHP と GraphQL は 2 つの人気のあるテクノロジー フレームワークとして、開発者に広く好まれています。この記事では、PHPとGraphQLを使用してAPIを構築する方法を紹介します。

1. PHP 構築 API

PHP は、Web 開発で広く使用されているオープン ソースのスクリプト言語であり、その適用範囲は Web サイト開発、データベース アプリケーション、ログ処理、画像処理などをカバーしています。 API を構築する場合、PHP をバックエンド言語として使用し、フロントエンドと対話してデータをフロントエンドに送信できます。

  1. PHP のインストール

まず、PHP 環境をインストールする必要があります。コマンド ライン ウィンドウで次のコマンドを入力すると、PHP がローカルにインストールされているかどうかを確認できます。

php -v
ログイン後にコピー

PHP のバージョン番号が表示されている場合は、PHP 環境がインストールされていることを意味します。インストールされていない場合は、[PHP 公式 Web サイト](https://www.php.net/) にアクセスしてダウンロードしてインストールする必要があります。

  1. フレームワークの選択

PHP では、Laravel、Symfony、Zend など、複数のフレームワークから選択できます。中でもLaravelはPHP Webアプリケーション開発で広く使われているフレームワークです。 Laravel フレームワークを使用して API を作成する手順は次のとおりです。

  1. プロジェクトの作成

コマンドライン ウィンドウに次のコマンドを入力すると、「myapp」という名前の Laravel プロジェクトをローカルに作成できます:

composer create-project laravel/laravel myapp --prefer-dist
ログイン後にコピー
  1. コントローラーの作成

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 を通じて定義できます。

  1. ルーティング

Laravel では、API リクエストはルーティングを通じて処理できます。次のコードを使用して、作成した API にルーティングを追加できます。

Route::get('/users', 'MyController@getAllUsers');
ログイン後にコピー

このうち、「/users」はリクエストの URL アドレスを表し、「MyController@getAllUsers」はリクエストを処理するコントローラー メソッドを表します。リクエスト。

  1. プロジェクトの実行

最後に、次のコマンドを使用して、作成した Laravel プロジェクトを実行できます:

php artisan serve
ログイン後にコピー

「http://localhost」にアクセスします。 : 8000/users' すべてのユーザー情報の JSON 形式データを表示します。

2. GraphQL 構築 API

RESTful API と比較した GraphQL の利点は、フロントエンドが必要なデータを取得するための正確なクエリを開始できるため、データベース クエリの負荷が軽減されることです。 。以下では、GraphQL を使用して API を構築する方法を紹介します。

  1. GraphQL のインストール

GraphQL は独立した API サービスとして開始できるため、最初にインストールする必要があります。 GraphQL は、次のコマンドでインストールできます。

npm install graphql-yoga
ログイン後にコピー
  1. Create Schema

GraphQL では、API インターフェイスを定義するスキーマを作成する必要があります。スキーマは、各タイプのデータのタイプ、各フィールドの戻り値のタイプ、およびメソッドの入力パラメータと出力パラメータを記述します。たとえば、このスキーマでは、すべてのユーザー情報をクエリするためのユーザー タイプとインターフェイスを定義する必要があります。コードは次のとおりです。

const typeDefs = `
  type User {
    id: ID!
    name: String!
    email: String
  }
  type Query {
    getAllUsers: [User]!
  }
`;
ログイン後にコピー
  1. リゾルバの書き込み

リゾルバはスキーマの各フィールドを実装し、データの取得方法を記述します。この例では、すべてのユーザー情報をクエリするためのリゾルバー コードは次のとおりです:

const resolvers = {
  Query: {
    getAllUsers: async () => {
      const users = await User.find();
      return users;
    },
  },
};
ログイン後にコピー
  1. プロジェクトの実行

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート