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.

Symfony3: Activities and Development Tutorials

Document source

Symfony3: Activities and Development Tutorials

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

Afficher l'aperçu du document

Consulter le document original →

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

  1. Créer le répertoire Entity dans le répertoire du 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 pour ces attributs.

Action, Route et Formulaire

On crée une action qui gère l'affichage et le traitement du formulaire.

Template

  1. Créer le répertoire Etudiant dans le répertoire views.
  2. Créer le template new.html.twig pour 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.

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