Académique Documents
Professionnel Documents
Culture Documents
Web
T.P. Introduction à Symfony 4.4
Niveau : L3IN
Code: INF336
2
Installation et Setup
• Installer PHP 7.1 ou plus récent
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.1.1/
• Installer Composer https://getcomposer.org/download/
• Installer Symfony CLI pour commande symfony
https://symfony.com/download
• Dans le répertoire xampp/htdocs/symfony pour vérifier configuration
symfony minimale
symfony check:requirements
• Création d’une nouvelle application
symfony new nom_du_projet –-version=4.4 –full
composer create-project symfony/website-skeleton:
”^4.4” nom_du_projet
• Lancer le server symfony
symfony server:start
• https://symfony.com/doc/4.4/setup.html
3
Création d’une page
• 2 Etapes :
● Création d’une route (dans une URL sous la forme /about)
// src/Controller/RandomController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
class LuckyController extends AbstractController
{/**
* @Route("/random_number") {# templates/random/number.html.twig #}
*/ <h1>Your random number is {{ number }}</h1>
public function number():Response
{
$number = random_int(0, 100);
return $this->render(‘random/number.html.twig',
['number' => $number,]);
}
} 5
Les répertoires du projet symfony de base
• config/
• Contient les fichiers de configurations (routes et services).
• src/
• Cœur du projet et contient tous les fichiers PHP.
• templates/
• Contient toutes les vues Twig.
• bin/
• Les fichiers exécutables;
• Majeur parties des commandes se font ici.
• var/
• Automatique, il contient les fichiers log et de cache.
• vendor/
• Contient l’ensemble des librairies et les paquets des bundles.
• public/
• Les principaux répertoires à utiliser : src/ , templates/ and config/
6
Création de routes (1)
• Ils sont configurés
• dans des fichiers YAML, XML ou PHP;
• Utilisant les annotations (installer avant les annotations)
composer require doctrine/annotations
• Les routes sont directement appelées dans les fichiers de contrôle
(controller)
Configuration de l’annotation
Fichier PHP
Fichier XML 8
Création des fichiers de contrôle (controller) (1)
• Ce sont des fonctions PHP;
• Elles lisent les informations d’un objet Request et renvoie un objet
Response (HTML page, JSON, XML, downloaded file, 404 error, etc.).
• Un controller est une méthode à l’interieur de la classe Contoller
Utilisation de fonctionnalités
Classe controller : prédéfinies
LuckyController
controller de
LuckyController
: number()
• Redirection;
• Redirection sur une
autre page
redirectToRoute()
redirect()
La méthode redirect() ne
vérifie pas la destination, ainsi la
mauvaise définition de la
destination pourrait conduire sur
une erreur.
10
Création des fichiers de contrôle (Controller) (3)
• Rendu des vues;
• Toutes les vues HTML (Twig) nécessitent le rendu
render(): Affiche un Template et y ajoute du contenu à l’aide de
l’objet Response
12