Symfony3: Développement
Ce matériel couvre les bases du développement avec Symfony3, un framework PHP, à travers une série d’activités pratiques. Il s’adresse aux étudiants et développeurs débutants souhaitant apprendre à créer des templates, gérer des routes et actions, manipuler des formulaires, utiliser une base de données et générer des opérations CRUD.
D'après le document Symfony3: Développement
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Web Development using Symfony · Institut Supérieur des Études Technologiques · PDF · 12 pages
Afficher l'aperçu du document
Ce matériel couvre les bases du développement avec Symfony3, un framework PHP, à travers une série d’activités pratiques. Il s’adresse aux étudiants et développeurs débutants souhaitant apprendre à créer des templates, gérer des routes et actions, manipuler des formulaires, utiliser une base de données et générer des opérations CRUD.
Activité 1 : Templates, Actions et Routes
Cette première activité introduit la création et la décoration de templates Twig, ainsi que la définition d’actions et de routes dans Symfony3.
Template
On commence par décorer le template « base.html.twig » et créer un template « display.html.twig » qui affiche le contenu d’une variable.
Action et Route
Une action « bonjour » est ajoutée. Elle prend en argument un nom de personne et renvoie un document HTML affichant « Bonjour Personne ».
Exemple d’exécution
En appelant la route associée à l’action « bonjour » avec un nom, par exemple « Jean », la page affichera :
Bonjour Jean
Activité 2 : Calcul de la somme de deux entiers
Cette activité consiste à calculer la somme de deux entiers passés en paramètres via l’URL. Le résultat est affiché avec le template « display.html.twig » utilisé précédemment.
Action et Route
Une action « add » est créée, qui récupère deux entiers depuis l’URL, calcule leur somme et transmet le résultat au template.
Exemple
URL : /add?x=3&y=5
Affichage : 8
Activité 3 : Création de liens hypertextes dans le template de base
On ajoute des liens dans le template « base.html.twig » pour faciliter la navigation entre les pages.
- Accueil : ouvre la page d’accueil (méthode « indexAction », route « homepage »).
- Bonjour : ouvre la page affichant « bonjour {nom} » (méthode « bonjourAction », route « bonjour »), avec choix du nom.
- Add : ouvre la page affichant la somme de deux entiers (méthode « addAction », route « add »), avec choix des entiers.
Exemple de liens dans « base.html.twig »
<a href="{{ path('homepage') }}">Accueil</a>
<a href="{{ path('bonjour', {'nom': 'Alice'}) }}">Bonjour</a>
<a href="{{ path('add', {'x': 2, 'y': 3}) }}">Add</a>
Activité 4 : Création d’un Bundle
Cette activité montre comment créer un Bundle dans Symfony3, qui est une unité modulaire regroupant code, templates, configurations, etc.
Action, Route et Template
Après création du Bundle, on définit des actions, leurs routes et les templates associés pour structurer l’application.
Activité 5 : Gestion des formulaires
On apprend à créer et gérer des formulaires Symfony, ici avec un formulaire simple représentant un étudiant.
Création de l’entité Étudiant
- Créer le répertoire Entity dans le Bundle.
- Créer la classe Etudiant avec les attributs
id,nometprénom. - Générer les méthodes getters et setters.
Action, Route et Formulaire
Une action est définie pour afficher et traiter le formulaire.
Template
- Créer le répertoire Etudiant dans « views ».
- Créer le template « new.html.twig » pour afficher le formulaire.
Exemple minimal de classe Étudiant
class Etudiant
{
private $id;
private $nom;
private $prenom;
public function getId() { return $this->id; }
public function getNom() { return $this->nom; }
public function setNom($nom) { $this->nom = $nom; return $this; }
public function getPrenom() { return $this->prenom; }
public function setPrenom($prenom) { $this->prenom = $prenom; return $this; }
}
Activité 6 : Utilisation de la base de données et opérations CRUD
Cette activité montre comment modéliser des données persistantes avec Doctrine, créer une entité « Enseignant » et générer les opérations CRUD.
Création de l’entité Enseignant
namespace Iset\TIBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="enseignant")
* @ORM\Entity(repositoryClass="Iset\TIBundle\Repository\EnseignantRepository")
*/
class Enseignant
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="nom", type="string", length=255, nullable=true)
*/
private $nom;
/**
* @ORM\Column(name="prenom", type="string", length=255, nullable=true)
*/
private $prenom;
/**
* @ORM\Column(name="cin", type="integer", unique=true)
*/
private $cin;
public function getId() { return $this->id; }
public function getNom() { return $this->nom; }
public function setNom($nom) { $this->nom = $nom; return $this; }
public function getPrenom() { return $this->prenom; }
public function setPrenom($prenom) { $this->prenom = $prenom; return $this; }
public function getCin() { return $this->cin; }
public function setCin($cin) { $this->cin = $cin; return $this; }
}
Génération des interfaces CRUD
Symfony permet de générer automatiquement les interfaces pour créer, lire, mettre à jour et supprimer des entités.
Création de la base de données
- Configurer la connexion à la base de données dans Symfony.
- Créer la base de données via les commandes Symfony.
- Créer les tables correspondantes aux entités.
- Vérifier la bonne création des tables.
Glossaire des termes clés
- Bundle : Unité modulaire dans Symfony regroupant code, templates, configurations.
- Template Twig : Fichier de présentation HTML avec syntaxe Twig pour afficher des données dynamiques.
- Action : Méthode d’un contrôleur qui traite une requête et renvoie une réponse.
- Route : Correspondance entre une URL et une action dans Symfony.
- Entité : Classe PHP représentant une table en base de données, avec ses attributs et méthodes.
- Formulaire Symfony : Composant permettant de créer, afficher et traiter des formulaires HTML.
- CRUD : Acronyme pour Create, Retrieve, Update, Delete, opérations de gestion des données.
- Doctrine : ORM (Object-Relational Mapping) utilisé par Symfony pour gérer la base de données.
Points clés à retenir
- Les templates Twig permettent de séparer la présentation des données dans Symfony.
- Les actions et routes définissent la logique et les URL accessibles dans l’application.
- Les liens dans le template de base facilitent la navigation entre différentes pages.
- Les bundles organisent le code en modules réutilisables.
- Les formulaires Symfony simplifient la création et la gestion des saisies utilisateur.
- Les entités modélisent les données persistantes et sont liées à la base via Doctrine.
- Les opérations CRUD sont essentielles pour manipuler les données en base.
- La configuration et la création de la base de données sont indispensables pour la persistance.
Commentaires
Aucun commentaire pour le moment. Posez la première question.