Développement web
Symfony
PHP
MySQL
Bash
Twig
il y a 3 ans citizenz7 0 commentaire 9014 lectures
Voici donc quelques commandes de base (!) pour créer un projet Symfony (5) TRES BASIC (!) mais fonctionnel. Un bon début pour avoir "tout ce qu'il faut".
Rappellez vous que Symfony est basé sur l'architecture MVC (Modèle, Vue, Controlleur) et la POO (Programmation Orientée Objet). Ca serait pas mal d'avoir quelques bases sur ces sujets avant de vous jetez corps et âme dans Symfony :)
Après avoir installé COMPOSER (https://getcomposer.org/) puis SYMFONY cli (https://symfony.com/download), pour créer un projet rien de plus simple :
symfony new MON_SUPER_PROJET --full
L'option --full ajoutera "tout ce qu'il faut", surtout si vous commencez un projet de type blog, site web, etc.
Avec Symfony, pas la peine d'utiliser phpMyAdmin (ou Adminer) pour créer la base. Tout est "géré" dans le fichier .env, à la racine du site (cd MON_SUPER_PROJET).
Voici la ligne qui va vous permettre d'utiliser MySQL (ou Mariadb) :
DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=mariadb-10.4.10"
Il vous suffit de remplacer :
serverVersion et :3306 (port MySQL) sont facultatifs. Vous pouvez très bien vous en passer et au final avoir cette configuration :
DATABASE_URL="mysql://db_user:db_password@127.0.0.1/db_name
Pour créer la base de données, utilisez un terminal. Placez-vous dans le répertoire de votre projet :
php bin/console doctrine:database:create
... et Hop! votre base de données est crée !
Commençons par créer les utilisateurs, c'est à dire la ou les personnes qui aurons accès à l'administration du site ou du projet :
php bin/console make:user
Cette commande va créer la classe User qui est le nom par défaut. Vous pourrez aussi choisir n'importe quel autre nom.
Grâce au "résultat" de cette commande, on va pouvoir aussi créer la table user (ou users ou... le nom que vous avez choisi...).
Pour cela on va passer par deux étapes obligatoire : la préparation d'un fichier de "migration" et la création de la table SQL.
Ca se passe comme suit :
php bin/console make:migration
php bin/console doctrine:migrations:migrate
En une seule commande, on va pouvoir créer toute la partie authentification pour le site, c'est à dire le formulaire de connexion :
php bin/console make:auth
On peut aussi créer rapidement le formulaire d'enregistrement :
php bin/console make:registration-form
Imaginez que vous ayez d'autres tables à créer : categories, commentaires, etc.
C'est ausi très simple. On va utiliser la commande suivante. Il vous suffira de répondre à quelques questions (est-ce un champ de type string, date, integer, ... ?). Pour info STRING 255 correspond à VARCHAR 255 :
php bin/console make:entity
Une fois terminé, il faut une nouvelle fois créer un fichier de migration et créer la/les table(s) avec les deux commandes suivantes :
php bin/console make:migration
php bin/console doctrine:migrations:migrate
CRUD ca signifie : Create, Read, Update, Delete autrement dit : Créer, Lire, Mettre à jour, Supprimer
Il s'agit de tous les fichiers utiles au fonctionnement d'un site classique type blog... Ils seront générés "automatiquement", aussi bien au niveau des controller (partie controleur), que des repository (partie modèle), que des templates (partie Vue) :
php bin/console make:crud
Symfony utilise un système de cache pour les divers environnements de travail (dev, prod). Il peut être important de vider le cache de temps à autres. Ca peut même vous sauvez la vie dans certaines situations :D
php bin/console cache:clear
PS : ca marche aussi avec
php bin/console c:c
La suite au prochain numéro !
Blog d'un geek quinqua nivernais fan d'ovalie, de linuxerie, de musique et de Net
@Kilenge22 De rien ;)...
citizenz
19-08-2024
Salut et merci vraiment ...
Kilenge22
18-08-2024
@Denny, c'est à dire ?...
citizenz
10-08-2024
Ma parole, des engins comme vous, ça devrait être fourni avec une notice ! (Léodagan, Kaamelott, Livre I, La potion de fécondité)