Académique Documents
Professionnel Documents
Culture Documents
Achref El Mouelhi
elmouelhi.achref@gmail.com
1 Introduction
2 Installation
Symfony
Symfony
framework PHP sorti en octobre 2005
I c
français ELH
U
L MO
conçu et développé par SensioLabs
h r e fE
open-source
A c
c
l’architecture MVC
basé sur
utilisant le protocole HTTP
Symfony
Framework ?
En français : cadre de travail
Ensemble de composants logiciels et API facilitant le
I c
H
développement d’applications : pour les développeurs maitrisant
EL
U
certains concepts informatiques (POO, SQL, MVC...)
L MO
f E
chre
c A
Symfony
Framework ?
En français : cadre de travail
I c
Ensemble de composants logiciels et API facilitant le
H
développement d’applications : pour les développeurs maitrisant
EL
U
certains concepts informatiques (POO, SQL, MVC...)
L MO
f E
re et CMS
c h
Ne pas confondre framework
c A
IDE (en anglais Integrated Development Environment,
Environnement de développement intégré)
CMS (en anglais Content Management System, Système de
gestion de contenu) pour les développeurs novices
Symfony
Symfony
Symfony
I c
Symfony 1 : sorti en octobre 2005
ELH
Symfony 2 : sorti en août 2011 OU
L M
f E 2015
Symfony 3 : sorti en novembre
r e
Symfony 4 A chen novembre 2017
: sorti
c
Symfony 5 : sorti en novembre 2019
Symfony
I c
ELH
U
L MO
f E
chre
c A
Symfony
I c
ELH
U
MO
Installation sous Linux (avec une commande)
L
r e fE
wget https://get.symfony.com/cli/installer
h -O - | bash
c
c A
Symfony
I c
ELH
U
MO
Installation sous Linux (avec une commande)
L
r e fE
wget https://get.symfony.com/cli/installer
h -O - | bash
c
c A
Installation sous Mac (avec une commande)
Symfony
Pour créer un projet Web Symfony 5
I c
ELH
U
L MO
f E
chre
c A
Symfony
Pour créer un projet Web Symfony 5
I c
Pour créer un projet console ou microservice Symfony 5EL
H
Exécutez symfony new premier projetM
OU
f E L symfony
c h re
c A
Symfony
Pour créer un projet Web Symfony 5
I
c
Pour créer un projet console ou microservice Symfony 5EL
H
Exécutez symfony new premier projetM
OU
f E L symfony
c h re
Pour lancer un
cprojetASymfony 5 créé avec la commande symfony, exécutez
cd --full premier projet symfony
Symfony
I c
ELH
Pour créer un projet Web Symfony d’une version antérieure
U
O projet symfony
M
Exécutez symfony new --full premier
L
--version=4.4
h r e fE
A c
c
Symfony
I c
# cloner un projet existant
git clone lien_vers_repository_github ELH
U
L MO
# se positionner dans le projet
f E
cd my-project/
A c hre
c
les dépendances composer dans vendor
# installer
composer install
Symfony
c
Allez dans Import Class et choisir le namespace
correspondant
Symfony
Structure d’un projet Symfony 4/5
I c
public/ : seul dossier accessible de l’extérieur (contenant le contrôleur frontal
index.php)
ELH
U
MO
src/ : contenant les fichiers sources de l’application (contrôleurs, entités, formulaires,
DAO...)
f E L
hre
templates/ : contenant les vues (vue partielle) de l’application
c
c A
tests/ : contenant les fichiers permettant de tester l’application
translations/ : contenant les fichiers de l’internationalisation
var/ : utilisé par Symfony pendant l’exécution, contenant les données de cache, le log et
les sessions
vendor/ : contenant les fichiers nécessaires pour une application Symfony (mentionnés
dans composer.json)
Symfony
Kernel ?
noyau de Symfony
défini dans vendor/symfony/http-kernel
I
c
H
ELle contrôleur adéquat
utilisé par le contrôleur frontal pour désigner
U
MO
pour répondre à la requête HTTP reçue
L
h r e fE
A c
c
Symfony
Kernel ?
noyau de Symfony
défini dans vendor/symfony/http-kernel
I
c
H
ELle contrôleur adéquat
utilisé par le contrôleur frontal pour désigner
U
MO
pour répondre à la requête HTTP reçue
L
h r e fE
A c
c
Contrôleur frontal
point d’entrée d’une application Symfony
défini dans public/index.php
Symfony
I c
montrant l’application telle qu’elle sera visible par les visiteurs
ELH
rapide à exécuter
n’affichant pas les messages M O U
fE L d’erreur.
c h e
dev (destinés aux dréveloppeurs)
c lentA
Plus que la version de production
Environnement de débogage complet
Possibilité d’ajouter des nouvelles fonctionnalités
Symfony
Remarque I c
L H
éeE
Par défaut, une application est configurU à l’environnement dev
M O
Pour changer d’environnement,
f L
E allez dans .env et mettez la
valeur de APP ENV ràe
A ch prod
Symfony
Extrait d’index.php
Symfony
Extrait d’index.php
Il récupère la requête
Symfony
Modèle Vue
Demande Construction
I c
de données page HTML
ELH
Adresse 1
U Contrôleur 1
Interception
MO Exécution Page HTML
f EL
de requête
c h re
Adresse 2
c
A Contrôleur frontal Kernel Contrôleur 2
. Recherche .
. contrôleur .
. adèquat .
Symfony
Déroulement
Symfony
I c
Quelques outils Symfony 5
ELH
U
Console
L MO
f E
Flex
c hre
c A
Symfony
Console
Outil (composant) pour développeur
Disponible depuis le lancement de Symfony
I c
H
EL en ligne de
commandes (CLI ou CommandM Line
U
Permettant d’interagir avec l’application Symfony
OInterface).
L
E par le fichier console
f bin
r e
Défini dans le répertoire
c h
c A
Symfony
Console
Outil (composant) pour développeur
Disponible depuis le lancement de Symfony
I c
H
EL en ligne de
commandes (CLI ou CommandM Line
U
Permettant d’interagir avec l’application Symfony
OInterface).
L
E par le fichier console
f bin
r e
Défini dans le répertoire
c h
c A
Pour consulter la liste des commandes disponibles
php bin/console
Symfony
La console, pourquoi ?
I
c
Pour :
E LH
U
MOôleurs, entités, formulaires,
faciliter la création/génération de contr
L
bundles...
h r e fE
c
éviter les erreurs
A
c
le développement
accélérer
Symfony
I
c
H
EL générer avec la
Pour consulter la liste des éléments que l’on puisse
console O U
L M
php bin/console list make
h r e fE
A c
c
Symfony
Flex
I c
Exécuté lorsque Composer est utilisé pour installer une nouvelle dépendance (recette ou
recipes en anglais) afin de la configurer
ELH
U
L MO
f E
c hre
c A
Symfony
Flex
I c
Exécuté lorsque Composer est utilisé pour installer une nouvelle dépendance (recette ou
recipes en anglais) afin de la configurer
ELH
U
L MO
f E
c hre
c A
recipe = bibliothèque standard (définie dans packagist : dépôt de Composer) + configuration
Symfony
Flex
I c
Exécuté lorsque Composer est utilisé pour installer une nouvelle dépendance (recette ou
recipes en anglais) afin de la configurer
ELH
U
L MO
f E
c hre
c A
recipe = bibliothèque standard (définie dans packagist : dépôt de Composer) + configuration
Pour consulter la liste des recettes
https://flex.symfony.com/