Cet article est la seconde partie d'une série :
Rappel du contexte : Lors d'un projet Bolt CMS, nous avons mis en œuvre un formulaire de modification de ses données personnelles dans un annuaire. L’individu disposait d’informations dont les champs (nom, prénom, téléphone, email, adresse, profession ...) et le but était de pouvoir modifier, ajouter ou supprimer ses informations personnelles.
Dans le cadre de notre projet, nous avons utilisé API Platform dans nos entités pour notre formulaire.

Alors, qu'est ce qu'API Platform ?
API Platform, permet la création automatique de CRUD (Create Read Update Delete) pour nos entités en respectant les standards de PHP et Symfony. Il permet d’ordonner et de filtrer nos données plus facilement. Dans notre cas, nous l’avons utilisé pour mettre à jour et sauvegarder les données modifiées au serveur.
Comment le configurer et l'installer sur notre projet ?
Pour commencer à utiliser API Platform sur notre projet Symfony, on doit tout d’abord installer les bundles nécessaires en utilisant Composer:
composer require api
Pour initialiser une API Platform sur une entité, il faut ajouter ce code ci-dessous:
<?php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
/**
* @ApiResource(
* collectionOperations={"get", "post"},
* itemOperations={"get", "put", "delete", "patch"}
* )
Pour une API, nous avons 2 types d’opérations : collectionOperations et itemOperations.
Dans un premier temps, CollectionOperations agit sur la collection de ressources autrement dit sur une liste d’entités. Les valeurs possibles pour cette opération sont le “get” qui va récupérer la liste des ressources et “post” pour créer un nouvel élément.
Et dans un second temps, ItemOperations agit sur une ressource individuelle qui contrairement à la CollectionOperation possède un id en paramètre. Les valeurs possibles pour cette opération sont:
Pour accéder à la route où se trouve ces API, on utilise en général le prefix /api (par exemple http://127.0.0.1/api) mais cela reste modifiable en ajoutant ce code et sauvegarder les préférences que l’on souhaite :
api_platform:
resource: .
type: api_platform
prefix: /api
api_entrypoint:
path: '%bolt.backend_url%/api'
controller: api_platform.swagger.action.ui
Nous allons voir dans une dernière partie, qu'est-ce qu'AlpineJS ? Et comment l'a-t-on utilisé dans notre projet Bolt CMS pour le formulaire ?
Code Rhapsodie reprend la maintenance du package oauth2-apple de Patrick Bussmann. Ce fork garantit la ...
La suggestion de mots-clés de Taxonomy est disponible dans Ibexa DXP avec le pack de ...
Importing a very large SQL file can be problematic, sometimes causing your virtual machine (VM) ...
Sylius et Shopware sont deux outils (framework) permettant la réalisation d'un site e-commerce. Comment choisir ...
Ibexa published a security advisory and subsequently released new versions of Ibexa DXP v4.6.26 and ...
Connaissez-vous les Actions IA (AI Actions) d'Ibexa ? Les AI Actions, sont une solution extensible ...
Is the suitability of the names given to the different zones in the Ibexa DXP ...
Connaissez-vous les Actions IA (AI Actions) d'Ibexa ? Les AI Actions, sont une solution extensible ...
Experts Ibexa de longue date, forts de nombreux projets réussis sur Ibexa, eZ Publish et ...
Code Rhapsodie reprend la maintenance du package oauth2-apple de Patrick Bussmann. Ce fork garantit la ...
La suggestion de mots-clés de Taxonomy est disponible dans Ibexa DXP avec le pack de ...
Importing a very large SQL file can be problematic, sometimes causing your virtual machine (VM) ...
Sylius et Shopware sont deux outils (framework) permettant la réalisation d'un site e-commerce. Comment choisir ...
Ibexa published a security advisory and subsequently released new versions of Ibexa DXP v4.6.26 and ...
Connaissez-vous les Actions IA (AI Actions) d'Ibexa ? Les AI Actions, sont une solution extensible ...
Is the suitability of the names given to the different zones in the Ibexa DXP ...
Connaissez-vous les Actions IA (AI Actions) d'Ibexa ? Les AI Actions, sont une solution extensible ...
Experts Ibexa de longue date, forts de nombreux projets réussis sur Ibexa, eZ Publish et ...