Création d'un projet
Symfony est un framework MVC libre écrit en PHP par l'agence Web française SensioLabs. Il permet de faciliter et d'accélérer le développement d'un site ou d'une application Web. Dans cet article, nous allons voir comment créer un nouveau projet Symfony ainsi que l'architecture générale de celui-ci.
Avant de se lancer dans la création d'une superbe application sous Symfony, il va falloir l'installer.
Il existe deux manières d'installer Symfony sur votre ordinateur :
- avec composer (à installer depuis cette adresse https://getcomposer.org)
- avec le logiciel Symfony (à installer depuis cette adresse https://symfony.com/download)
Composer
Composer s'utilise depuis un terminal de commandes.
Ouvrez votre terminal, placez-vous dans le dossier souhaité et entrez la ligne suivante :
# Cette commande sert pour un projet d'application Web traditionnel
composer create-project symfony/website-skeleton nom_de_mon_projet
# Cette commande sert pour un microservice, API... Plusieurs bundles ne sont pas installés
composer create-project symfony/skeleton nom_de_mon_projet
Remplacez "nom_de_mon_projet" par le nom de votre projet bien sûr. ?
Composer se chargera de télécharger et d'installer toutes les dépendances nécessaires à l'utilisation de Symfony.
Logiciel Symfony
Après avoir téléchargé le logiciel depuis le site officiel et installé le logiciel sur votre ordinateur, ouvrez votre terminal de commandes et entrez la ligne suivante :
# Cette commande sert pour un projet d'application Web traditionnel
symfony new nom_de_mon_projet --full
# Cette commande sert pour un microservice, API... Plusieurs bundles ne sont pas installés
symfony new nom_de_mon_projet
Là aussi, remplacez "nom_de_mon_projet" par le nom de votre projet.
A vrai dire, cette commande va elle-même utiliser Composer pour créer votre projet et récupérer les dépendances nécessaires. Contrairement à la commande Composer, vous ne verrez pas des lignes d'installation s'afficher. ?
Pour la suite, nous utiliserons les commandes du logiciel Symfony.
Dorénavant, un nouveau dossier a été créé portant le nom de votre projet. Dans le cadre de cet article, mon dossier se nommera "nom_de_mon_projet".
Version LTS
Les versions LTS (Long-Term Support), sont des versions publiés environs tous les deux ans.
Pour connaître la version LTS actuelle, visitez cette page : https://symfony.com/releases
Il est possible d'installer la version LTS en cours depuis les lignes de commandes :
# La version LTS la plus récente
symfony new nom_de_mon_projet --version=lts
# La prochaine version à paraître (en développement...)
symfony new nom_de_mon_projet --version=next
# En spécidiant la version exacte que vous souhaitez
symfony new nom_de_mon_projet --version=4.4
Architecture du projet
- bin : ce dossier contient les exécutables de Symfony, comme le fichier console.
- config : bon, là le nom du dossier parle de lui-même. Il contient tous les fichiers de configuration de Symfony ainsi que les dépendances que vous installerez plus tard.
- public : c'est le point d'entrée de votre site Web, mais c'est aussi ici que vous stockerez tous vos "assets" (images, css, javascript...).
- migrations : là se retrouvent des fichiers permettant de créer ou de mettre à jour la base de données.
- src : c'est ici que toute votre logique métier sera traité ! Il contient notamment les controllers, les entités, les formulaires...
- templates : vous pourrez exprimer votre talent de designer dans ce dossier. Toutes les vues sont concentrées ici.
- tests : tous vos tests unitaires et fonctionnels seront regroupés dans ce dossier.
- var : Symfony se chargera d'y stocker le cache et les logs de l'application.
- vendor : ce dossier contient toutes les dépendances installées avec Composer.
- .env : ce fichier regroupe les différentes variables d'environnements de l'application.
Démarrer le serveur
Vous avez la possibilité de démarrer un serveur avec Symfony afin de tester votre projet :
# Démarre le serveur
symfony serve
# Permet de voir les logs du serveur
symfony server:log
Il est tout à fait possible de faire la même chose avec une autre commande, mais Symfony ne la recommande plus. D'ailleurs, ils ont retiré la dépendance nécessaire à son fonctionnement. Faites l'essai en lançant cette commande :
php bin/console server:start
En cas d'erreur, installez via composer le serveur :
composer req server
Il ne vous reste qu'à ouvrir votre navigateur et à entrer l'adresse qu'affiche votre terminal, normalement : http://127.0.0.1:8000.
Et voilà, votre projet est prêt à être travaillé ! ?
Attention, le serveur Web tourne directement via le terminal, donc si vous fermez le terminal, vous coupez le serveur !
Aussi pratique soit-il, ce serveur ne permet pas d'utiliser une base de données ?. Rien de grave, il existe une multitude de serveurs à installer sur l'ordinateur pour travailler en toute tranquillité.
MAMP (Mac)
Laravel Valet (Mac)
Xampp (Windows, Linux et Mac)
Laragon (Windows)
Cette liste est non exhaustive, vous pouvez en trouver d'autres en cherchant un peu.