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.

Symfony3: Développement

Document source

Symfony3: Développement

Web Development using Symfony · Institut Supérieur des Études Technologiques · PDF · 12 pages

Afficher l'aperçu du document

Consulter le document original →

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

  1. Créer le répertoire Entity dans le Bundle.
  2. Créer la classe Etudiant avec les attributs id, nom et prénom.
  3. 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

  1. Créer le répertoire Etudiant dans « views ».
  2. 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.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions