m1webg2

Principales commandes

Commandes générales

symfony new <DOSSIER> : créer un nouveau projet

symfony console : lister toutes les commandes

symfony console serve : lancer le serveur PHP

Commandes de référence

symfony console debug:router : lister les routes

symfony console debug:twig : lister les fonctions, filtres et variables globales de Twig

symfony console debug:container : lister tous les services

Commandes de création de modèles

symfony console make:twig-extension : créer une extension Twig

symfony console make:form : créer une classe de formulaire

symfony console make:subscriber : créer une classe de souscripteur d'événements Symfony

Commandes liées à Doctrine

symfony console make:entity : créer/modifier une entité

symfony console make:entity --regenerate : créer les accesseurs/mutateurs des nouveles propriétés d'une entité

symfony console make:entity --regenerate --overwrite : recréer tous les accesseurs/mutateurs d'une entité

symfony console make:migration : créer les migrations de la base de données

symfony console make:fixtures : créer un modèle de données fictives

symfony console doctrine:database:create : créer la base de données

symfony console doctrine:database:drop --force : supprimer la base de données

symfony console doctrine:migrations:migrate : exécuter les migrations

symfony console doctrine:fixtures:load : charger les données fictives

Commandes liées à la sécurité

symfony console make:user : créer une entité de comptes utilisateurs

symfony console make:auth : créer un authentificateur de comptes utilisateurs

symfony console make:registration-form : créer un formulaire de création de comptes utilisateurs

Principaux composants

composer require <COMPOSANT> : installer un composant ou une dépendance

annot : utiliser les annotations

twig : utiliser le moteur de template Twig

debug : gérer le débogage

encore : utiliser webpack pour gérer les fichiers JS et CSS

mailer : utiliser swiftmailer pour gérer les emails

make : créer des modèles de classes PHP

form : créer des formulaires

validator : créer des contraintes de validation sur les champs de formulaires

orm : utiliser l'ORM Doctrine

ormfixtures : gérer des données fictives avec Doctrine

twigextensions : ajouter des fonctions supplémentaires à Twig

security : authentification et autorisations

Bibliothèques externes

faker : https://github.com/fzaninotto/Faker

doctrine extensions : https://github.com/beberlei/DoctrineExtensions

Références

Documentation : https://symfony.com/doc/current/index.html

Champs de formulaire : https://symfony.com/doc/current/reference/forms/types.html

Contraintes de validation sur les champs de formulaire : https://symfony.com/doc/current/reference/constraints.html

Plan de cours

  • Installation d'un projet Symfony

  • Création du premier contrôleur

    • Request et Response

    • Afficher une vue Twig

  • Gestion des routes

    • Créer une route avec des annotations

    • Créer une route avec un paramètre

  • Twig

    • Principaux fonctions et filtres

    • Créer une extension Twig

    • Créer des variables globales

    • Gérer la mise en page

  • Gérer les fichiers JS et CSS

    • Utilisation du composant Encore

    • Installation de Bootstrap et jQuery

  • Gérer les formulaires

    • Créer une classe de formulaire

    • Gérer les champs de formulaire

    • Gérer les contraintes de validation des champs de formulaire

    • Gérer un formulaire dans un contrôleur

    • Fonctions Twig liées aux formulaires

  • Gérer les emails

    • Utilisation du composant Mailer

    • Créer un email au format texte et HTML

  • Doctrine

    • Création et connexion à une base de donnnées

    • Créer une entité

    • Créer des contraintes sur les entités

    • Créer et exécuter des migrations

    • Créer des données fictives

    • Méthodes de sélection par défaut des classes de dépôt

    • Souscripteur d'événements Doctrine

  • Création d'un espace d'administration

    • Ajouter, modifier et supprimer une entité

    • Gestion des fichiers

    • Souscripteur d'événements de formulaire

  • Requêtes personnalisées avec Doctrine

    • Utilisation du Doctrine Query Language

    • Les différents modes de récupération des résultats

  • Utilisation de l'AJAX

    • Récupération du contenu de la requête HTTP

    • Créer des réponses HTTP en JSON

  • Sécurité

    • Gestion de l'authentification

    • Gestion des autorisations

    • Gestion des rôles