Projet de départ de la formation : API Platform 4.4 + Symfony 7.4 sur FrankenPHP (symfony-docker).
- Docker avec Docker Compose v2.10+
- Git
git clone git@github.com:coopTilleuls/formation-api-platform.git api-platform-formation
cd api-platform-formation
docker compose build --pull --no-cache
docker compose up --wait| URL | Contenu |
|---|---|
| https://localhost/api | Point d'entrée de l'API (Hydra) |
| https://localhost/api/docs | Documentation OpenAPI / Swagger UI |
| https://localhost/admin | Admin React générée depuis la doc Hydra |
Arrêter le projet : docker compose down --remove-orphans
docker compose exec php bin/console make:entity --api-resource
docker compose exec php bin/console doctrine:schema:update --force
docker compose exec php bin/console debug:api-resourceapi-platform/symfonyetapi-platform/doctrine-orm4.4 (versions figées dansapi/composer.lock)api-platform/schema-generator(vendor/bin/schema)symfony/maker-bundle, PHPUnit,symfony/browser-kitetsymfony/http-clientpour les tests
- Cache PropertyInfo :
api/config/packages/api_platform_dev_cache.yamlcontourne un défaut d'API Platform 4.4 qui, en dev, empêche les propriétés ajoutées ou renommées d'apparaître dans la doc. Si le problème survient malgré tout :docker compose exec php bin/console cache:pool:clear cache.property_info
Dès que vous déclarez une ressource (ici l'entité PostalAddress des slides), la documentation et l'admin se mettent à jour d'elles-mêmes.
Documentation OpenAPI — https://localhost/api/docs
Admin — https://localhost/admin
Les commandes Symfony se lancent dans le conteneur php :


