Nothing Special   »   [go: up one dir, main page]

Formation Symfony

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 25

Formation

Symfony
GROUPE DES JEUNES INGÉNIEURS TUNISIENS
02

Plan
1 Définition framework
2 Pattern MVC
3 Présentation de Symfony
4 Les principaux concepts
03

Définition d'un framework


Le mot «Framework» provient de l'anglais «frame» qui
veut dire «cadre» en français, et «work» qui signifie
«travail». Littéralement, c'est un «cadre de travail».

Un Framework est un cadre (ou espace) de travail


modulaire, constitué d'un ensemble de bibliothèques,
d'outils et de conventions permettant le
développement rapide d'application.
04

Pattern MVC :
Le pattern (patron) Modèle Vue Contrôleur (MVC) est une
manière pour organiser de façon interne le code (traitement)
d'applications logicielles

Ce pattern visa à séparer le code :


– d’accès aux données (modèle),
– de la présentation (vue)
– et la logique de contrôle (contrôleur).

Cette organisation impose la séparation entre les données,


les traitements et la présentation, ce qui donne trois parties
fondamentales dans le code de l'application finale : le
modèle, la vue et le contrôleur.
05

Présentation de symfony CONTROLLEUR

Framework Web MVC écrit en PHP OO 01


Le Framework Symfony nécessite une ROUTAGE

version minimum de PHP 7.2

Pour installer un nouveau projet Symfony; il


02
faut : VUES

03
Installer Composer : c’est un outil pour gérer
les applications et leurs composants. •
Installer Symfony : c’est une application
pour installer et exécuter les projets
Symfony.
Structure d’une application Symfony 06

Le dossier "bin" : il contient les fichiers binaires des


bibliothèques utilisées par l’application Web.
Le dossier "config" : Contient l’ensemble de fichiers de
configuration de l’application sous format YAML.
Le dossier "public" : contiendra tous les fichiers qui doivent être
accessibles publiquement comme par exemple les images, les
fichiers css et le contrôleur frontal index.php.
Le dossier "src" : Il contient l'ensemble des contrôleurs, ainsi
que les entités et les formulaires liés à l’application.
Le dossier "templates" : Ce dossier contiendra toutes les vues
Twig de l’application. Il contient aussi le Template de base.
Le dossier "vendor" : Ce dossier contiendra tous les modules
fournis avec symfony et qui pourrons être utilisés comme
bibliothèque dans l’application.
Certains fichiers qui définissent des informations sur
l’environnement de l’application.
07

Contrôleur frontal Dans Symfony, une requête HTTP ne fait appel


qu’un seul script : c’est le contrôleur frontal.

C’est le point d’entrée unique de


l’application. Il se trouve dans le dossier
public : index.php
Ce contrôleur aura pour principale tâche de
déterminer quelle action à faire pour une telle
requête HTTP reçue par l’application.
L’URL de la requête représente sa route dans
l’application
08

Flux applicatif de Symfony


09

Le routage en Le routeur fait la correspondance entre l’URI de la


symfony: requête et le contrôleur qui va traiter cette requête.
En Symfony, il y a deux façons pour réaliser le routage
des requêtes :
En utilisant un fichier de routage routes.yml : c’est un
fichier texte qui contient la liste des différents URL
possible avec leurs actions correspondante dans un
contrôleur.
En utilisant des annotations injectées directement
dans le contrôleur. Ils commencent par @
10

fichier de routage
routes.yaml

annotation au
niveau du code de
controleur
11

Les contrôleurs Ce sont des classes PHP crées dans le dossier controller
sous src.
Pour créer un nouveau contrôleur, on utilise la commande
php bin/console make:controller
On définit le nom du contrôleur.
Cette commande a pour effet de créer :
Une classe PHP :
c’est le contrôleur qui contient une action par defaut
Une vue twig:
qui traitera la route indiquée pour l’action
12

Les actions Méthodes publiques des contrôleurs


Retourne une Réponse (de type Response)

Reçoivent automatiquement en arguments les paramètres


des routes (s’il y en a).

Peuvent générer une réponse sous la forme :


d’un simple message
d’une vue à afficher
d’une redirection vers une route.
13

Méthode 1:Simple message


14

Méthode 2: une vue à afficher


15

Méthode 3: redirection vers une route


16

Les préfixes On peut définir dans une route un préfixe pour un ou


plusieurs URL.
La valeur du préfixe permet de différencier les routes
entre elles.
17

Les restrictions On peut associer à un paramètre dans un URL une


restriction sur sa valeur (ex : numérique, …).
id doit être numérique

restriction d'une chaine


18

Les classes Symfony s’inspire du protocole HTTP et définie 2 classes


Request et Request et Response.
Response Un objet Request permet d’accéder aux paramètres
envoyés dans la requête, selon la méthode get/post.
Un objet Response permet de retourner une réponse.

Pour utiliser ces 2 classes il faut spécifier les


namespaces :
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
19

Les vues Twig Constituent la partie présentation (vue) de


l’application
Utilisent le moteur de Templates (modèles) Twig
Peuvent recevoir des données du contrôleur pour les
afficher, sous la forme d’un tableau associatif.
La méthode render() d’un contrôleur permet
d’afficher une vue Twig.
Peuvent utiliser des structures algorithmiques test et
boucle
Utilisent le pseudo-langage Twig à base de { }
20

Twig, les bases {{ … }} afficher dans la vue, une variable ou le résultat d’une
expression :
{{ nom_variable }}
{% … %} Contrôler la logique des instructions, structures
algorithmiques :

Peut définir des variables : {% set x = 3 %}


Le symbole de concaténation est ~
21

Les fonctions path () et asset()


22

Héritage entre Dans chaque projet Symfony il existe une Template de base
Twig à partir de quelle toutes les vues Twig de l’application
vues Twig
peuvent l’hériter.
Cette Template s’appelle base.html.twig et se trouve dans
le dossier templates

Elle contient du code HTML et peut faire référence à des


styles CSS et fichier JavaScript
Elle est organisée en blocks ayant des noms
On peut définir des blocks personnalisés
23

Héritage entre
vues Twig
24

Héritage entre Lorsqu’une vue veut hériter de la template base.html.twig


elle doit commencer par : {% extends 'base.html.twig' %}
vues Twig
Pour remplacer le contenu d’un block hérité de la
template; il suffit de définir un nouveau contenu pour
ce block : {% block title %}Accueil{% endblock %}

Pour ajouter au contenu du block hérité un autre


contenu : {% block title %}{{parent()}} at home page{%
endblock %}
Merci Pour Votre attention

TIJG SRUEINÉGNI SENUEJ SED EPUORG

Vous aimerez peut-être aussi