📌

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