symfony-yoandev-http
Installation
SKILL.md
HTTP layer
Tier: core — with the simplifications
symfony-yoandev-standardslists under What the rules do not require — no Input DTO for a plain GET, one Output DTO per shape.
Controllers, routing, request input, responses, forms, templates.
A controller is a translation layer: HTTP in, a service call, a representation out. It holds no rule. That is not tidiness — it is what makes the rule testable without a kernel, and what lets the same service serve an HTML page and a JSON endpoint without either one being a special case.
The shape of a controller
One class per resource, class-level route prefix, one action per use case.
<?php
declare(strict_types=1);