16.3 — Cheatsheet Symfony CLI & bin/console
Les commandes du quotidien.
symfony= la Symfony CLI ;php bin/console= les commandes de l’application.
Symfony CLI (symfony)
| Commande | Rôle |
|---|---|
symfony new mon-projet --version="7.4.*" --webapp | créer un projet full-stack |
symfony new mon-api --version="7.4.*" | créer une API (skeleton minimal) |
symfony serve -d | serveur de dev (HTTPS local), en arrière-plan |
symfony server:stop | arrêter le serveur |
symfony server:log | voir les logs en direct |
symfony server:ca:install | installer le certificat HTTPS local |
symfony check:requirements | vérifier que PHP est prêt |
symfony open:local | ouvrir le site dans le navigateur |
symfony var:export --multiline | voir les variables d’env injectées |
symfony composer ... | Composer avec le bon PHP |
Génération de code (make:*)
| Commande | Génère |
|---|---|
make:controller | un contrôleur (+ template + test) |
make:entity | une entité (interactif) + repository |
make:form | un FormType |
make:crud | CRUD complet (contrôleur + templates + form) |
make:user | l’entité User (sécurité) |
make:security:form-login | login form + SecurityController |
make:voter | un voter |
make:command | une commande console |
make:message | un message Messenger (+ handler) |
make:migration | une migration (diff entités ↔ base) |
make:test | un test (Unit/Web/Api) |
make:factory | une factory Foundry |
make:admin:dashboard / make:admin:crud | EasyAdmin |
Débogage (debug:*)
| Commande | Affiche |
|---|---|
debug:router | toutes les routes |
router:match /url --method=GET | quelle route matche une URL |
debug:container | tous les services |
debug:autowiring [mot] | types injectables |
debug:config <bundle> | config effective d’un bundle |
debug:event-dispatcher | listeners par événement |
debug:twig | filtres/fonctions Twig |
debug:messenger | bus et handlers |
about | version Symfony/PHP, env, chemins |
Doctrine
| Commande | Rôle |
|---|---|
doctrine:database:create | créer la base |
doctrine:migrations:migrate | appliquer les migrations |
doctrine:migrations:status | état des migrations |
doctrine:schema:validate | mapping ↔ base cohérents |
doctrine:fixtures:load | charger les fixtures (purge la base) |
doctrine:query:sql "SELECT ..." | exécuter du SQL |
Cache & assets
| Commande | Rôle |
|---|---|
cache:clear | vider le cache |
cache:warmup | préchauffer le cache (prod) |
asset-map:compile | compiler les assets (prod) |
importmap:require <lib> | ajouter une dépendance JS |
secrets:set <NOM> | définir un secret chiffré |
Messenger & Scheduler
| Commande | Rôle |
|---|---|
messenger:consume async -vv | worker : consommer une file |
messenger:consume scheduler_default | worker du Scheduler |
messenger:failed:show | messages échoués |
messenger:failed:retry <id> | rejouer un message échoué |
messenger:stop-workers | arrêter proprement les workers (déploiement) |
Qualité
| Commande | Rôle |
|---|---|
vendor/bin/phpunit | lancer les tests |
vendor/bin/phpstan analyse | analyse statique |
vendor/bin/php-cs-fixer fix | formater le code |
vendor/bin/rector process --dry-run | prévisualiser un refactoring |
composer audit | vulnérabilités des dépendances |
💡 Astuce :
php bin/console listliste toutes les commandes disponibles ;php bin/console list makefiltre par namespace.
Suivant : 16.4 — Cheatsheet Doctrine & Twig.