9 juin 2024

Liste des commandes Symfony

Cette formation est là pour lister les différentes commandes nécessaires pour la création d'un projet Symfony ainsi qu'une mise en production de celui-ci.

 

Avant de créer un projet, il faut installer divers composants pour accéder au Symfony CLI.

 

Il faudra installer, scoop pour installer le Symfony CLI : https://scoop.sh

Dans un PowerShell en mode administrateur sur Windows (si vous êtes sur ce système d'exploitation) lancer les commandes suivantes : 

 

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

 

Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

 

Si l'installation de scoop rencontre un problème rendez-vous dans : https://github.com/ScoopInstaller/Install#for-admin et suivez le tutoriel pour votre système d'exploitation.

 

Pour installer divers composants dans la librairie de votre projet, vous aurez besoin de "Composer" : https://getcomposer.org/download/

Lors de l'installation de Composer, il vous sera demandé de choisir la version de PHP qu'il utilisera, choisissez la plus récente (8.2 à l'écriture de cette formation).

 

Installons GIT Bash (Invite de commande liée à linux pour Windows) : https://www.git-scm.com/downloads

 

Ouvrez un éditeur de code (exemple : Visual Studio Code), entrer dans le dossier où on va créer le projet, dans le terminal de votre éditeur choisissez GIT Bash puis entrer la commande : 

 

scoop install symfony-cli

 

Désormais, vous avez le Symfony CLI d'installer. Vous n'aurez plus besoin de "php bin/console" pour exécuter une commande Symfony.

 

1# Créer un nouveau projet

 

Pour créer un nouveau projet, il faut vous rendre dans le dossier qui comportera votre projet (exemple : User_06@DWWM-06 MINGW64 /c/xampp/htdocs/projet_test/ ), puis entrer la commande suivante si vous êtes sur une version de PHP ≥ à 8.2

 

symfony new nom_du_projet --version="7.0.*" --webapp 
 

SI vous êtes sur une version antérieure à PHP 8.2 :

 

symfony new --webapp nom_du_projet

 

L'option --webapp fournit les composants nécessaires pour commencer votre projet sans devoir installer de nouveau composant.

 

Pour entrer dans le dossier de votre projet : 

 

cd nom_du_projet

 

Pour sortir d'un dossier : 

 

cd ..

 

Maintenant, vous avez créé votre premier projet. Voyons voir une liste de commandes nécessaire pour ajouter des composants à votre projet.

 

2# Ajouter des composants 

 

Ajouter le bundle webpack encore (permet de compiler vos assets CSS et JavaScript) : 

 

composer require symfony/webpack-encore-bundle

 

     2.1# NPM

 

Puis installons les composants “npm” :

 

npm install

 

Pour compiler les assets pour le déploiement : npm run build  |  Pour compiler les assets pendant le développement (à ne pas arrêter avec CTRL+C sauf si vous avez terminé) : npm run watch

 

Mettre à jour la librairie “npm” : 

 

npm update

 

     2.2# COMPOSER

 

Installer un paquet pour l'ajouter à votre projet (site très connu pour trouver des paquets https://packagist.org) : 

 

composer require nom_du_createur/nom_du_paquet  |  (exemple : composer require stichoza/google-translate-php)

 

Si vous récupérez le projet depuis votre github, il faudra réinstaller les composants de votre projet :

 

composer install

 

Et pour mettre à jour vos composants (si vous avez déjà des paquets d'installer cette commande les installera également) : 

 

composer update

 

Supprimer un paquet installé : 

 

composer remove nom_du_createur/nom_du_paquet

 

3# Les commandes Symfony 

 

À la création de votre projet, il vous faudra divers fichiers pour avoir une structure complète (qui se base sur le MVC).

 

Les commandes qui vont suivent seront pour le Symfony CLI, si vous ne l'avez pas, je vous invite à l'installer et si vous n'en voulez pas, il faudra remplacer symfony par php bin/console

 

Création d'un contrôleur (il vous ajoutera une page html.twig automatiquement) :

 

symfony console make:controller nom_du_contrôleur

 

Créer la base de données (nom pris depuis le fichier .env du projet) :

DATABASE_URL="postgresql://nom_utilisateur:[email protected]:5432</span>nom_de_la_bdd?serverVersion=15&charset=utf8"

 

symfony console d:d:c

 

Création d'une entité (table SQL) :

 

Créer une entité liée à la sécurité (souvent les utilisateurs) : symfony console make:user

 

Créer une entité hors de la zone de sécurité (autre table) : symfony console make:entity

 

Ajouter une colonne à votre table SQL : 

 

symfony console make:entity nom_de_votre_entité

 

Prenons un exemple pour ajouter une colonne, j'ai une table SQL qui se nomme "user" et nous voulons ajouter une colonne à celle-ci :

 

symfony console make:entity user

 

Créer une migration pour créer un fichier qui va pouvoir créer ou mettre à jour votre table SQL (à chaque ajout de colonne faire une migration) :

 

symfony console make:migration

 

Migrer notre fichier “version” sur notre base donnée :

 

symfony console d:m:m

 

Pour lancer votre serveur Symfony et tester votre application (http://localhost:8000/ ) : 

 

symfony serve

 

Pour arrêter votre serveur Symfony, il suffit de faire CTRL + C ou dans un autre terminal : 

 

symfony serve:stop

 

Sans le Symfony CLI : 

 

php -S 127.0.0.1:8000 -t public

 

Une commande assez importante, surtout si vous rafraîchissez régulièrement votre projet, c'est celle de vider le cache : 

 

symfony console c:c

 

Création d'un formulaire d'inscription : 

 

symfony console make:registration-form

 

Création d'un formulaire de connexion : 

 

symfony console make:auth

 

     3.1# Préparer le déploiement

 

Symfony, utilise le fichier .env pour récupérer des variables d'environnement nécessaire au fonctionnement de votre projet (comme le MAILER_DSN). Lors du déploiement, il faut créer un fichier “local” de ce fichier : 

 

composer dump-env prod

 

Il faudra également préparer votre projet en lui enlevant les paquets non-nécessaire (ceux seulement disponible en mode développement) :

 

composer install --no-dev --optimize-autoloader

 

Et pour finir, on met notre projet en production et on vide notre cache une dernière fois : 

 

APP_ENV=prod APP_DEBUG=0 symfony console cache:clear

Mots clés:

Cours Du Dev

Recevez les dernières formations disponibles en vous inscrivant à la newsletter

Créé par arkunis