Commandes
De nombreuses lignes de commande existent sous Symfony.
Voici quelques exemples très concrets des étapes à suivre pour des opérations simples.
Projet GitHub : https://github.com/LSarribouette/hello-symfony
Création du projet :
symfony new hello-world
Premier contrĂ´leur :
composer require symfony/maker-bundle --dev
symfony console make:controller > NomControleur
Afficher la liste des routes : symfony console debug:router
Afficher les détails d’une route : symfony console debug:router name_route
Tester le match entre une URL et une route : symfony console router:match /url-a-tester
Premier Twig :
composer require twig
composer require symfony/asset
Barre de débogage :
composer require symfony/profiler-pack --dev
composer require symfony/var-dumper --dev
composer require symfony/debug-bundle --dev
—> ou juste composer require debug --dev
Base de données :
composer require symfony/orm-pack
symfony console doctrine:database:create
symfony console make:entity > NomEntite
dev : symfony console doctrine:schema:update --force
(≠prod : symfony console make:migration)
Formulaires :
composer require form
composer require validator
Relation entre deux entités :
symfony console make:entity > NomEntite > attributClasseVoulue > type d’attribut relation > type de relation (onetomani, manitoumani…)
symfony console doctrine:schema:update --force
Système d’authentification :
composer require security
symfony console make:user > User > yes || no > propriété unique email || username || uuid > ❗YES ❗pour hash/check les mots de passe
[symfony console make:entity > User]
symfony console d:s:u --force
symfony console make:auth > 1 > AppAuthenticator >SecurityController > yes
composer require doctrine/annotations
composer require form validator
symfony console make:registration-form
symfony console d:s:u --force
Mot de passe oublié :
composer require symfonycasts/reset-password-bundle
[composer require symfony/mailer]
symfony console make:reset-password > app_login > administration@mail.fr > Team Admin
symfony console d:s:u --force
Paquets bonus :
~ simplifier la récupération de l’id dans l’URL : composer require sensio/framework-extra-bundle
~ envoyer des mails : composer require symfony/mailer
~ générer les formulaires du CRUD : composer require security-csrf
- créer les 4 formulaires pour une entité :
symfony console make:crud
~ hasher un mot de passe : symfony console security:hash
~ avoir un panneau d’administration : composer require easycorp/easyadmin-bundle
- créer le panneau d’administration :
symfony console make:admin:dashboard>DashboardController>src/Controller/Admin/
- créer un CRUD pour chaque entité qu’on veut dans le dashboard :
symfony console make:admin:crud
~ vider le cache (en PROD) : symfony console cache:clear
~ tests unitaires : composer require --dev symfony/test-pack
- créer un test :
symfony console make:test
- lancer les tests :
php bin/phpunit
~ créer une API avec API Platform :
- créer un nouveau projet :
symfony new monApi
- se placer dans le projet :
cd monApi
- installer le paquet :
composer require api