Want to create interactive content? It’s easy in Genially!

Get started free

06-developpement_d_une_api_rest_en_php

CEFii

Created on February 7, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

développement d'une API rest en PHP

2. Exemple de code

1. Les étapes de développement

Objectifs : découvrez dans cette séquence de formation comment développer une base d'une API REST en PHP

Sommaire

Les étapes de développement

Configuration de l’environnement de développement : Avant de commencer à développer votre API REST en PHP, vous devez configurer votre environnement de développement. Cela peut impliquer l’installation d’un serveur web local comme Apache, l’installation de PHP et la configuration d’une base de données MySQL.Création d’un projet PHP pour l’API : Une fois votre environnement de développement configuré, vous pouvez commencer à créer votre projet PHP. Cela implique généralement la création d’un nouveau dossier pour votre projet, la création d’un fichier index.php qui servira de point d’entrée pour votre API, et la configuration de votre serveur web pour diriger les requêtes vers ce fichier.Implémentation des méthodes CRUD : Les opérations CRUD (Create, Read, Update, Delete) sont le cœur de toute API REST. En PHP, vous pouvez implémenter ces opérations en définissant des routes pour chaque méthode HTTP (GET, POST, PUT, DELETE) et en associant ces routes à des fonctions spécifiques de votre code. Par exemple, pour une API de gestion de tâches, vous pourriez avoir une route GET /taches qui est associée à une fonction getTaches() dans votre code, qui interroge votre base de données pour obtenir une liste de toutes les tâches et renvoie ces données au client en format JSON.

1- Les étapes de développement

Mise en place des couches métiers :

Test de l’API avec Postman ou un autre outil similaire. Après avoir implémenté vos opérations CRUD, il est important de tester votre API pour vous assurer qu’elle fonctionne correctement. Vous pouvez utiliser un outil comme Postman pour envoyer des requêtes à votre API et vérifier les réponses. Lien vers l'outil Postman : Voici ci-dessous des exemples de pratique pour tester vos requêtes :

1- Les étapes de développement

Tester son API :

Exemple de code

Pour mettre en place notre API REST en PHP, nous allons reprendre la structure MVC du site "portfolio" du module PHP3. Ainsi la structure sera déjà réalisée. Afin de pouvoir consommer les données de la base de données du site, nous allons devoir ajouter des paramètres "headers" dans chaque méthode du contrôleur "CreationController" correspondant au CRUD de l'entité "Creation". Ici, nous avons ajouté les paramètres de "headers" à l'intérieur de la méthode "index" pour récupérer toutes les créations. ffff Cette portion de code est responsable de la configuration des en-têtes HTTP pour gérer les requêtes CORS (Cross-Origin Resource Sharing) et spécifier le type de contenu de la réponse.

2- Exemple de code

La logique de l'API REST :

2- Exemple de code

Le fichier CreationController.php :

2- Exemple de code

Quelques "tips" pour complèter notre API :

Pour compléter notre API, il faut modifier les autres méthodes de la classe "CreationController" :

  • Il faut ajouter les mêmes paramètres de "headers", sauf pour la méthode qui doit correspondre au rôle de la fonction. Par exemple "POST", pour la fonction "add".
  • Appliquer la même logique que le slide précédent en testant la méthode dans une condition "if". Mettre en place les conditions d'erreurs de statuts de la requête.
  • Si des données sont envoyées dans le "body" de la requête HTTP comme un "POST", "PUT", ou "PATCH", il faut utiliser la fonction suivante, pour récupérer les données JSON :
  • Ensuite, il faut convertir les données JSON en tableau PHP. Pour cela, il faut utiliser la fonction PHP suivante :
  • Pour terminer la logique dans le contrôleur de l'API, il ne reste plus qu'à alimenter l'entité via les "setters" pour envoyer l'objet ensuite dans le modèle de l'API et ainsi exécuter la requête.
  • On peut compléter le code avec d'autres conditions de statuts de la requête pour les statuts "201" , si la requête à réussi, le statut "503", si la requête ne s'est pas bien déroulée.

3- Exercices

Retour sur VirtualSchool

Vous venez de terminer cette séquence de formation ! Bravo à présent c'est à vous de jouer ! Rendez-vous dans VirtualSchool pour poursuivre l'aventure... Au programme le exercice 02 intitulé : "Terminer l'API REST en PHP"

Terminé !

Access-Control-Allow-Origin: * : Cette entête indique aux navigateurs que toutes les origines sont autorisées à accéder à la ressource. L'étoile (*) signifie que n'importe quelle origine peut faire des requêtes vers le serveur. Cela permet à votre API d'être accessible par des domaines différents de celui sur lequel elle est hébergée. Content-Type: application/json; charset=UTF-8 : Cet en-tête indique le type de contenu de la réponse renvoyée par le serveur. Dans cet exemple, il spécifie que le contenu est au format JSON (application/json) et encodé en UTF-8 (charset=UTF-8). Cela garantit que le client saura comment interpréter correctement la réponse. Access-Control-Allow-Methods: GET : Cette entête spécifie les méthodes HTTP autorisées pour accéder à la ressource. Dans cet exemple, seule la méthode GET est autorisée. Cela restreint les types de requêtes HTTP qui peuvent être effectuées vers votre API. Access-Control-Max-Age: 3600 : Cet en-tête spécifie combien de temps (en secondes) les informations de contrôle d'accès peuvent être mises en cache par le navigateur sans devoir les renvoyer lors de requêtes ultérieures. Dans cet exemple, les informations sont mises en cache pendant une heure (3600 secondes). Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With : Cet en-tête spécifie les en-têtes HTTP autorisés lors d'une requête pré-vérification (pré-flight) pour les méthodes qui nécessitent un contrôle d'accès. Cela inclut les en-têtes de contenu (Content-Type), les en-têtes de contrôle d'accès eux-mêmes (Access-Control-Allow-Headers), les en-têtes d'autorisation (Authorization) et les en-têtes de requête (X-Requested-With). Cela permet au client d'envoyer ces en-têtes lors de requêtes CORS pré-vérification sans être bloqué par le navigateur. Ces en-têtes sont importants pour sécuriser et permettre un accès contrôlé aux ressources de votre API à partir de différents domaines et pour spécifier le type de contenu et les méthodes HTTP autorisées.