Symfony3: Activities and Development Tutorials
Ce matériel couvre les activités de développement avec Symfony3, un framework PHP, destiné aux étudiants ou développeurs débutants souhaitant apprendre la création de templates, la gestion des routes et actions, la manipulation de formulaires, ainsi que l'utilisation de bases de données avec des entités et opérations CRUD.
D'après le document Symfony3: Activities and Development Tutorials
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Web Development · Institut Supérieur des Études Technologiques · PDF · 12 pages
Afficher l'aperçu du document
Ce matériel couvre les activités de développement avec Symfony3, un framework PHP, destiné aux étudiants ou développeurs débutants souhaitant apprendre la création de templates, la gestion des routes et actions, la manipulation de formulaires, ainsi que l'utilisation de bases de données avec des entités et opérations CRUD.
Activité 1 : Templates, Actions et Routes
Cette première activité consiste à décorer le template de base «base.html.twig» et à créer un template «display» qui affiche le contenu d'une variable.
Ensuite, on ajoute une action «bonjour» qui prend en argument un nom de personne et renvoie un document HTML affichant «Bonjour Personne».
Exemple :
- Template «display.html.twig» affiche une variable nommée «message».
- Action «bonjourAction($nom)» renvoie la vue avec le message «Bonjour {nom}».
Activité 2 : Calcul de la somme de deux entiers
Le but est de calculer la somme de deux entiers passés en paramètres via l'URL. Le résultat est affiché avec le même template «display.html.twig» utilisé dans l'activité 1.
Exemple :
- URL : /add?a=3&b=5
- Action «addAction($a, $b)» calcule la somme :
resultat = a + b - Le template affiche «La somme de 3 et 5 est 8».
Activité 3 : Création de liens hypertextes dans le template de base
On ajoute des liens dans le template «base.html.twig» qui seront disponibles dans tous les templates qui le décorent :
- Accueil : ouvre la page d'accueil (méthode
indexAction, route «homepage») - Bonjour : ouvre la page affichant «Bonjour {nom}» (méthode
bonjourAction, route «bonjour») - Add : ouvre la page affichant la somme de deux entiers (méthode
addAction, route «add»)
Activité 4 : Création d'un Bundle
Cette activité consiste à créer un bundle Symfony, qui est un ensemble modulaire regroupant les fonctionnalités, les contrôleurs, les templates, etc. Elle inclut :
- Création du bundle via la console Symfony.
- Définition des actions et des routes associées.
- Création des templates spécifiques au bundle.
Activité 5 : Création et gestion d'un formulaire
Cette activité montre comment Symfony permet de créer et gérer des formulaires. On crée un formulaire simple pour un étudiant, représenté par une classe PHP.
Création de l'entité Étudiant
- Créer le répertoire
Entitydans le répertoire du bundle. - Créer la classe
Etudiantavec les attributsid,nometprénom. - Générer les méthodes getters et setters pour ces attributs.
Action, Route et Formulaire
On crée une action qui gère l'affichage et le traitement du formulaire.
Template
- Créer le répertoire
Etudiantdans le répertoireviews. - Créer le template
new.html.twigpour afficher le formulaire.
Exécution
Le formulaire est affiché, et les données saisies peuvent être traitées et validées.
Activité 6 : Utilisation de la base de données avec entités et CRUD
Cette activité montre comment utiliser une base de données avec Symfony en modélisant les données dans des classes PHP persistantes. L'exemple porte sur l'entité «Enseignant» et la génération des opérations CRUD (Create, Retrieve, Update, Delete).
Création de l'entité Enseignant
namespace Iset\TIBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Enseignant
*
* @ORM\Table(name="enseignant")
* @ORM\Entity(repositoryClass="Iset\TIBundle\Repository\EnseignantRepository")
*/
class Enseignant
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=255, nullable=true)
*/
private $nom;
/**
* @var string
*
* @ORM\Column(name="prenom", type="string", length=255, nullable=true)
*/
private $prenom;
/**
* @var int
*
* @ORM\Column(name="cin", type="integer", unique=true)
*/
private $cin;
// Getters et setters
public function getId()
{
return $this->id;
}
public function setNom($nom)
{
$this->nom = $nom;
return $this;
}
public function getNom()
{
return $this->nom;
}
public function setPrenom($prenom)
{
$this->prenom = $prenom;
return $this;
}
public function getPrenom()
{
return $this->prenom;
}
public function setCin($cin)
{
$this->cin = $cin;
return $this;
}
public function getCin()
{
return $this->cin;
}
}
Génération des interfaces CRUD
Symfony permet de générer automatiquement les interfaces CRUD pour gérer les entités.
Création de la base de données
- Configuration : Paramétrer la connexion à la base de données dans le fichier de configuration.
- Création : Générer la base de données via la console Symfony.
- Création des tables : Les tables sont créées automatiquement à partir des entités.
- Vérification : Contrôler que la base et les tables ont bien été créées.
Glossaire des termes clés
- Bundle : Un module regroupant des fonctionnalités, contrôleurs, templates dans Symfony.
- Template : Fichier HTML/Twig servant à afficher des données dynamiques.
- Action : Méthode d'un contrôleur qui traite une requête et renvoie une réponse.
- Route : URL mappée à une action spécifique dans Symfony.
- Entity (Entité) : Classe PHP représentant une table en base de données.
- CRUD : Opérations Create, Retrieve, Update, Delete pour gérer les données.
- Formulaire : Interface utilisateur pour saisir et envoyer des données.
- Doctrine : ORM (Object-Relational Mapping) utilisé par Symfony pour gérer la base de données.
Points clés à retenir
- Symfony utilise des templates Twig pour séparer la logique de présentation.
- Les actions contrôlent la logique métier et renvoient des vues.
- Les routes définissent les URL accessibles et leur correspondance avec les actions.
- Les bundles permettent de modulariser l'application.
- Les formulaires sont créés et gérés facilement avec Symfony.
- Les entités représentent les tables en base et sont manipulées via Doctrine.
- Les opérations CRUD sont essentielles pour gérer les données persistantes.
- La configuration correcte de la base de données est nécessaire avant de générer les tables.
Commentaires
Aucun commentaire pour le moment. Posez la première question.