Application Development ✔ …but suitable for advanced use cases - DDD, Clean Architecture, microservices… ✔ Batteries included ✔ Fast, cheap, and green ✔ Standards-compliant
- hard to customize ✓ Having small resources linked together instead of big resources improve performance and cache dynamics, cf. my Edge Side APIs presentation ✔ Hooking custom logic - possible but not trivial, not well understood ✓ DDD, Clean Architecture and custom persistence should be intuitive and easy ✔ Configuration - Verbose and hard to read ✓ Leverage PHP 8 attributes 😻
a network of resources ✔ Resources: - Any information that can be named - Valid resources: a thing, a temporary service, a collection of resources ✔ Resources have representations: - Ex: JSON-LD, JPEG, CSV… - The same resource can have multiple representations REST
existing RDF vocabulary… ✔ … or an OpenAPI Definition ✔ Run Schema Generator 5 to generate the PHP classes $ bin/schema generate \ src/ model-definition.yaml Design your API with Stoplight
✔ November 2023: Symfony 7.0 ◦ API Platform 3.2: compat wit Symfony 6 and 7 ✔ September 2024: API Platform 4.0 & 3.4 ◦ API Platform 4.0: Symfony 7 only ✔ 🔁