← ClaudeAtlas

controller-actionlisted

Écrit un contrôleur Symfony — AbstractController, helpers (render/json/redirectToRoute), mappage (#[MapQueryParameter],
gabrielmustiere/skills · ★ 1 · AI & Automation · score 73
Install: claude install-skill gabrielmustiere/skills
# /controller-action — Écrire un contrôleur Symfony > **Utilise quand** tu ajoutes ou révises une action HTTP qui lit une `Request` et renvoie une `Response` (HTML, JSON, fichier, stream, redirection). > **Pas quand** tu veux juste poser/ajuster du routing (path, methods, requirements, `host`, `schemes`, génération d'URL) → `/symfony:routing-define` couvre tout le registre `#[Route]`. > **Pas quand** tu fais du CRUD sur une Resource Sylius — le `ResourceController` vendor gère index/create/update/show/delete. Tu crées ou révises un contrôleur Symfony. Un contrôleur est une fonction PHP qui lit une `Request` et renvoie une `Response` — rien d'autre. Tu fais passer tout le métier par un service et tu t'appuies sur les helpers de `AbstractController` plutôt que de réinventer l'accès à Twig, au routeur, au security, à la session. ## Détection préalable (obligatoire) 1. Lire `composer.json` à la racine du projet. 2. Vérifier `symfony/framework-bundle` dans les dépendances. - Présent → OK, continuer. - Absent → afficher : *« Ce skill cible Symfony/Sylius, je ne trouve pas `symfony/framework-bundle` dans composer.json. On continue quand même ou on change d'approche ? »* et attendre la réponse. 3. Repérer la convention de routing du projet : attributs PHP `#[Route]` (standard Symfony 6+) ou YAML/XML sous `config/routes/` (legacy, à ne pas introduire dans un projet neuf). 4. Si `sylius/sylius` est présent → signaler en une ligne que Sylius expose un `ResourceController` géné