Ahmed Zaki JENHANI
Symfony3
Symfony3: Développement
I Activité 1
I.1 Template
On va décorer la le template «base.html.twig» et créer le template display qui affiche le contenu
d'une variable:
I.2 Action et Route
Ajouter l'action bonjour qui prends en argument un nom d'une personne et puis renvoie un document html
affichant Bonjour Personne.
I.3 Exécution
1/12
Ahmed Zaki JENHANI
Symfony3
II Activité 2
On souhaite calculer la somme de deux entiers. Les deux entiers doivent être passés en paramètre par
l'URL. Le résultat va être affiché en utilisant le même template «display.html.twig» de l'activité 1.
III Action et Route
III.1 Exécution
IV Activité 3
Le but de l'activité est de créer des liens hypertextes au nuveau du template «base.html.twig». Ces
liens seront disponibles par tous les templates qui vont le décorer:
• Un lien «Acceuil»: Ouvre la page d'acceuil (méthode «indexAction» dont la route est
«homepage»)
• Un lien «Bonjour»: Ouvre la page où on affiche bonjour {un nom de personne} (méthode
«bonjourAction» dont la route est «bonjour»). Il faut choisir la personne que vous allez saluer.
• Un lien «add»: Ouvre la page qui affiche le résultat de la somme de deux entiers (méthode
«addAction» dont la route est «add»). Il faut choisir les entiers qu'on, réalisera leur somme.
2/12
Ahmed Zaki JENHANI
IV.1 Template
Symfony3
IV.2 Exécution
V Activité 4
V.1 Création d'un Bundle
3/12
Ahmed Zaki JENHANI
Symfony3
V.2 Action et Route
4/12
Ahmed Zaki JENHANI
V.3 Template
Advertisement
Symfony3
V.4 Exécution
VI Activité 5
Le but de l'activité est de voir comment Symfony permet de créer et gérer des formulaires. On va créer
donc un formulaire simple d'un étudiant. Un étudiant sera représenté par une classe PHP.
VI.1Création de l'entité Étudiant:
1. Créer le répertoire Entity dans le répertoire du «Bundle» généré;
2. Créer la classe Etudiant avec les attributs id, nom et prénom;
3. Générer les méthodes getters et setters
5/12
Ahmed Zaki JENHANI
Symfony3
VI.2Action, Route et Formulaire
VI.3Template
1. Créer le répertoire Etudiant dans le répertoire «views»
2. Créer ensuite le template «new.html.twig»
VI.4Exécution
6/12
Ahmed Zaki JENHANI
Symfony3
Activité 6
VII
Le but de cette activité et d'utiliser la base de données. Les données manipulées seront tous modélisé dans
des classes. Nous allons créer l'entité «Enseigant» (Classe PHP persistante) et suite générer les opérations
CRUD correspondantes.
VII.1
Création de l'entité Enseignant
Classe Enseignant
namespace Iset\TIBundle\Entity;
7/12
Ahmed Zaki JENHANI
Symfony3
use Doctrine\ORM\Mapping as ORM;
/**
- Enseignant
*
- @ORM\Table(name="enseignant")
- @ORM\Entity(repositoryClass="Iset\TIBundle\Repository\EnseignantRepository")
*/
class Enseignant
{
/**
- @var int
Advertisement
*
- @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;
/**
- Get id
*
- @return int
*/
public function getId()
{
return $this->id;
}
8/12
Ahmed Zaki JENHANI
Symfony3
/**
- Set nom
*
- @param string $nom
*
- @return Enseignant
*/
public function setNom($nom)
Advertisement
{
$this->nom = $nom;
return $this;
}
/**
- Get nom
*
- @return string
*/
public function getNom()
{
return $this->nom;
}
/**
- Set prenom
*
- @param string $prenom
*
- @return Enseignant
*/
public function setPrenom($prenom)
{
$this->prenom = $prenom;
return $this;
}
/**
- Get prenom
*
- @return string
*/
public function getPrenom()
{
return $this->prenom;
}
9/12
Ahmed Zaki JENHANI
Symfony3
/**
- Set cin
*
- @param integer $cin
*
Advertisement
- @return Enseignant
*/
public function setCin($cin)
{
$this->cin = $cin;
return $this;
}
/**
- Get cin
*
- @return int
*/
public function getCin()
{
return $this->cin;
}
}
VII.2
CRUD (Create, Retrieve, Update, Delete)
Génération des interfaces CRUD:
10/12
Ahmed Zaki JENHANI
Symfony3
VII.3
Création de la base de données
VII.3.a
Configuration
VII.3.b
Création de la base de données
11/12
Ahmed Zaki JENHANI
Symfony3
VII.3.c
Création des tables:
VII.3.d
Vérification
12/12