Maison > développement back-end > tutoriel php > Apprenez à créer des API avec PHP et GraphQL

Apprenez à créer des API avec PHP et GraphQL

PHPz
Libérer: 2023-06-19 15:42:01
original
1190 Les gens l'ont consulté

Avec le développement de la technologie Internet, l'architecture de séparation front-end et back-end est devenue le courant dominant du développement Web. Dans une architecture où les front-ends et les back-ends sont séparés, l'API est un pont important reliant les front-ends et les back-ends. Lors de la création d'API, PHP et GraphQL, en tant que deux frameworks technologiques populaires, sont largement privilégiés par les développeurs. Cet article explique comment créer une API à l'aide de PHP et GraphQL.

1. API de création PHP

PHP est un langage de script open source largement utilisé dans le développement Web. Son champ d'application couvre le développement de sites Web, les applications de bases de données, le traitement des journaux, le traitement des images et d'autres aspects. Lors de la création d'une API, PHP peut être utilisé comme langage back-end pour transmettre des données au front-end en interagissant avec le front-end.

  1. Installer PHP

Tout d'abord, nous devons installer l'environnement PHP. Vous pouvez vérifier si PHP a été installé localement en entrant la commande suivante dans la fenêtre de ligne de commande :

php -v
Copier après la connexion

Si le numéro de version de PHP est affiché, cela signifie que l'environnement PHP a été installé. S'il n'est pas installé, vous devez vous rendre sur le [site officiel de PHP](https://www.php.net/) pour le télécharger et l'installer.

  1. Choisissez un framework

En PHP, vous avez le choix entre plusieurs frameworks, tels que Laravel, Symfony, Zend, etc. Parmi eux, Laravel est un framework largement utilisé dans le développement d’applications web PHP. Voici les étapes pour créer une API à l’aide du framework Laravel.

  1. Créer un projet

Vous pouvez créer un projet Laravel nommé "myapp" localement en entrant la commande suivante dans la fenêtre de ligne de commande :

composer create-project laravel/laravel myapp --prefer-dist
Copier après la connexion
  1. Créer un contrôleur

Avant de créer l'API, vous devez créer un dispositif de contrôle. Vous pouvez créer un contrôleur en entrant la commande suivante :

php artisan make:controller MyController
Copier après la connexion

Dans MyController, vous pouvez écrire le code de logique métier de l'API. Par exemple, dans MyController, vous pouvez écrire un code API pour interroger toutes les informations utilisateur comme suit :

public function getAllUsers()
{
    $users = User::all(); // 查询所有用户信息
    return response()->json($users); // 返回JSON格式的用户信息
}
Copier après la connexion

Parmi eux, User représente le modèle utilisateur, qui peut être défini via l'ORM Eloquent de Laravel.

  1. Routing

Dans Laravel, les requêtes API peuvent être traitées via le routage. Vous pouvez ajouter un routage à l'API que vous venez de créer en utilisant le code suivant :

Route::get('/users', 'MyController@getAllUsers');
Copier après la connexion

Parmi eux, "/users" représente l'adresse URL de la requête et "MyController@getAllUsers" représente la méthode du contrôleur qui gère la requête.

  1. Exécutez le projet

Enfin, vous pouvez exécuter le projet Laravel créé via la commande suivante :

php artisan serve
Copier après la connexion

En accédant à 'http://localhost:8000/users', vous pouvez afficher les données au format JSON de tous les utilisateurs information.

2. Construire une API avec GraphQL

Par rapport à l'API RESTful, l'avantage de GraphQL est qu'il permet au front-end de lancer une requête précise pour obtenir les données requises, réduisant ainsi la pression de la requête de base de données. Ci-dessous, nous expliquons comment utiliser GraphQL pour créer une API.

  1. Installer GraphQL

GraphQL peut être démarré en tant que service API indépendant, il doit donc être installé en premier. GraphQL peut être installé via la commande suivante :

npm install graphql-yoga
Copier après la connexion
  1. Create Schema

Dans GraphQL, vous devez écrire un schéma pour définir l'interface API. Le schéma décrit le type de chaque type de données, le type de retour de chaque champ et les paramètres d'entrée et de sortie de la méthode. Par exemple, dans ce schéma, nous devons définir un type d'utilisateur et une interface pour interroger toutes les informations utilisateur. Le code est le suivant :

const typeDefs = `
  type User {
    id: ID!
    name: String!
    email: String
  }
  type Query {
    getAllUsers: [User]!
  }
`;
Copier après la connexion
  1. Write Resolver

Resolver implémente chaque champ du schéma et décrit comment obtenir des données. Dans cet exemple, le code du résolveur pour interroger toutes les informations utilisateur est le suivant :

const resolvers = {
  Query: {
    getAllUsers: async () => {
      const users = await User.find();
      return users;
    },
  },
};
Copier après la connexion
  1. Exécutez le projet

Enfin, exécutez le service GraphQL. Vous pouvez démarrer le service via la commande suivante :

const { GraphQLServer } = require('graphql-yoga');

const server = new GraphQLServer({ typeDefs, resolvers });
server.start({ port: 4000 }, () =>
  console.log(`Server is running on localhost:4000`)
);
Copier après la connexion

En accédant à 'http. ://localhost :4000/graphql', vous pouvez utiliser l'outil GraphQL Playground pour tester l'API.

Conclusion

Cet article explique comment créer une API à l'aide de PHP et GraphQL. En PHP, vous pouvez utiliser le framework Laravel pour créer des API, et en GraphQL, vous pouvez utiliser graphql-yoga. En étudiant le contenu de cet article, je pense que les lecteurs ont une certaine compréhension de la façon d'utiliser PHP et GraphQL pour créer des API et peuvent essayer de les appliquer dans des projets réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal