Accueil Blog A propos Contact Connexion
Retour à la liste des articles Symfony 5 : bien débuter

Symfony 5 : bien débuter

Olivier Prieur | il y a 4 ans | il y a 7 jours Développement web | 0 | 9314

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 :)

Créer un nouveau projet

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.

Configurer la base de données

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 :


  • db_user par votre utilisateur MySQL

  • db_password par le mot de passe de votre utilisateur MySQL

  • db_name : le nom de votre base de données



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

Créer la base de données

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 !

Création des utilisateurs (users)

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

Creation de l'authentification

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

Créer les autres tables

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

Création des CRUD

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

Le cache de Symfony

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 !

Olivier Prieur

Olivier Prieur

Geek quinqua nivernais fan d'ovalie, de musique, de linuxeries et de Net.
Portfolio : https://www.olivierprieur.fr

Commentaires

En soumettant ce formulaire, j’accepte que ce site conserve mes données personnelles via ce formulaire. Aucune exploitation commerciale ne sera faite des données conservées.

Il n'y a actuellement aucun commentaire pour cet article

A la une

Utiliser TailwindCSS dans un projet Symfony 7

Lire l'article

Symfony 7 avec Docker

Lire l'article

Customiser Easyadmin (2) : avec AssetMapper

Lire l'article

Je recherche un nouveau job !

Lire l'article

Les plus lus

Symfony : barre de recherche dans la sidebar 19389

Lire l'article

Débuter avec Symfony 5 : le fichier .env 11930

Lire l'article

VSCode : 10 raccourcis clavier indispensables (Linux) 11595

Lire l'article

GIT / GITHUB : aide-mémoire pour "les nuls" 10191

Lire l'article