Description de la formation Développement Web avec PHP et Symfony
Cette formation PHP existe à notre catalogue depuis de nombreuses années déjà. Le cours est donc extrêmement bien rodé tant du point de vue de la pédagogie que des nombreux travaux pratiques qui jalonnent la formation. Les participants seront immédiatement opérationnels à la fin du cours, ils vont apprendre pendant ces 5 jours les bases correspondant à plus de 90% des développements web en PHP.
Objectifs
Objectifs pédagogiques :
- La syntaxe procédurale du langage PHP
- L’intégration de PHP et HTML
- La persistance avec les Cookies et Sessions
- L’interaction avec les bases de données
- L’introduction à l’architecture MVC
- La programmation orientée objet
- L’introduction au Framework Symfony
À qui s’adresse cette formation ?
Public :
Le cours s’adresse à toute personne désireuse d’apprendre PHP ou ayant à gérer des projets PHP : chef de projet, webmaster, développeur, administrateur de base de données…
Prérequis :
Pour suivre cette formation PHP Symfony, il est demandé d’avoir une bonne connaissance du HTML sans pour autant en être un expert. Cela correspond à un niveau de connaissance équivalent à la formation HTML, CSS : L’essentiel (IHTM) ou à la formation Maîtriser HTML5, CSS3, JavaScript et Ajax (IHCJ).
Contenu du cours Développement Web avec PHP et Symfony
Introduction
Qu’est-ce que PHP ?
Les échanges de base entre un serveur Web et un navigateur (http)
La place de PHP dans l’architecture Web (scripts client et serveur : JavaScript, HTML, PHP, SQL, etc.)
Présentation de l’exemple utilisé durant la formation (site de vente en ligne)
Présentation du langage et premier site en PHP
Dynamisation d’une page Web
Les principes client-serveur
Syntaxe de base et PSR
Intégration de PHP dans une page HTML
Variables, constantes et fonctions
Librairies
Fonctions natives, variables serveur et superglobales
Contrôles de flux et boucles
Espace de Nommage
Travaux Pratiques :
Définition d’un jeu de données métier (tableau multidimensionnel)
Implémentation de fonctions personnalisées ( TTC, frais de port, etc.)
Organisation sous forme de librairies
Introduction au MVC (Model 1)
Traitement des formulaires
Passage et transmission de données Client
Lecture écriture de fichier
Redirection
Travaux Pratiques :
Réalisation d’une page de type fiche produit, paramétrée
Traitement d’un fichier plat, pour import de données
Utilisation d’une base de données MySQL
Gérer les bases MySQL avec phpMyAdmin
Concepts fondamentaux : Bases, tables, champs, enregistrements
Fonctions PHP MySQL
Introduction au langage SQL (sélection, modification, suppression)
Traitement des résultats des requêtes
Travaux Pratiques :
Création d’une base MySQL
Import de la base à partir d’un fichier plat (articles de la boutique)
Création du catalogue en ligne et des fiches produit associées
Implémentation d’un moteur de recherche multi-critères
Refactoring en architeture MVC
Sessions utilisateurs et panier d’achat
Variables persistantes : Cookies et Sessions
Avantages et inconvénients des cookies et sessions
Limitations et précautions
Les variables de session
Les Cookies
Sérialisation des variables complexes
Utilisation
Travaux Pratiques :
Réalisation d’un panier d’achat
Gestion des quantités commandées (ajout, retrait, suppression)
Initiation à la POO en PHP
P.O.O. (Programmation Orientée Objet)
UML : le diagramme de Classe
Propriétés et méthodes
Visibilité publique vs. Privée
Constructeur
Héritage
Travaux Pratiques :
Implémentation d’une classe Métier Livre
Implémentation d’une classe DAO Livres
Refactoring de la boutique en mode OO
Introduction à Symfony
Notion de framework
Installation et mise en place d’un projet
Architecture de Symfony
Organisation d’une application
Cycle de traitement d’une requête
Créer des pages
Créer des contrôleurs
Définir les url
L’objet Request
L’objet Response
Redirections
Utiliser la vue
Le Routing (Définition des routes, Routes paramétrées, Génération d’url)
Lire et écrire dans la session de l’utilisateur courant
Travaux Pratiques :
Création des routes / catalogue et / fiche
Implémentation des contrôleurs correspondants
La vue : Twig
La syntaxe
Gestion et manipulation des variables
Structures (boucles et conditions)
Définir un layout (héritage, block et inclusion)
Travaux Pratiques :
Adaptation des templates de la boutique
Le modèle : notion d’ORM et Doctrine
Qu’est-ce qu’un ORM, ses objectifs
Présentation de Doctrine
Création d’un modèle
Manipulation des entités
Recherches et requêtes
Travaux Pratiques :
Définition des entités métier
Création des requêtes Doctrine pour fiche et catalogue
Adaptation des modèles
Travaux Pratiques
BDPhilia :
Création d’une boutique de vente en ligne de livres.
Le choix de la création d’une boutique en ligne repose sur un constat simple :
- Fonctionnellement, les éléments constitutifs d’une boutique en ligne sont connus de tout le monde et font partie désormais de la “culture générale”.
- En effet, aujourd’hui, nous pouvons considérer que tout le monde a déjà réalisé un achat sur internet et qu’il existe donc un consensus autour des exigences fonctionnelles nécessaires.
Ceci nous autorise à passer rapidement sur la phase d’analyse des besoins et sa traduction au niveau de l’implémentation.
La Boutique présentera les fonctionnalités principales d’un site de vente en ligne :
- présentation des produits par thèmes
- recherche multi-critères (mot clé, prix minimum et maximum, auteur, éditeur)
- affichage trié et paginé des résultats de recherche
- affichage détaillé du produit (caractéristiques, illustration et résumé)
- sélection d’un produit (mise en panier d’achat)
- affichage du Panier d’Achat, avec calcul des éléments comptables
- Les données seront gérées dans un SGBD-r, exploité en SQL.
L’habillage graphique du site sera assuré par l’intégration de templates HTML / CSS3 / JavaScript fournis, pour un résultat professionnel.