Niveau : expert - Durée : 7 jours
Pré-requis : savoir utiliser un ordinateur pour réaliser des tâches courantes et avoir des connaissances basiques en HTML, CSS, PHP et bases de données relationnelles.
Objectif : acquérir les connaissances nécessaires pour maitriser la programmation procédurale et la programmation orientée objet d'applications web en PHP, l'exploitation de bases de données relationnelles et l'architecture applicative serveur.
Méthode pédagogique : théorie, modes opératoires et transfert de compétences par réalisation d'ateliers pratiques.
PHP est un langage de programmation gratuit d'utilisation, interprété et mis en oeuvre sur la plupart des serveurs web. Il permet notamment la conception de sites web dynamiques.
Son principe d'utilisation est le suivant : le serveur web et son interpréteur de PHP génèrent des documents affichables dans les navigateurs web (Firefox, Internet Explorer, Chrome, Microsoft Edge, Safari, Opéra, ...) en fonction des actions effectuées par les internautes grâce à divers objets contenus dans les pages web (zones de saisie, listes déroulantes, cases à cocher, boutons d'options, ...). La plupart des sites web récents utilisent aujourd'hui ce concept, beaucoup plus efficace que celui du web statique.
Les principaux formats utilisés dans les documents (ou pages) générés sont les formats HTML, CSS et Javascript.
Les données affichées dans les pages sont souvent extraites d'une base de données (MySql, le plus fréquemment).
Cette formation, très complète, à pour but de faire découvrir au stagiaire toutes les étapes de mise en place d'une application dynamique, développée en PHP, sur un serveur web.
Programme de la formation Développement d’applications serveur PHP / MySQL et architecture applicative
Bases, grammaire et syntaxe du PHP
- Variables et types
- Opérateurs arithmétiques, de comparaison et logiques
- Tableaux et leur fonctions de manipulation
- Conditions : if / switch
- Boucles : for / while / foreach
- Fonctions natives et personnalisées
- Tableaux globaux (GET, POST, SERVER)
- Bonnes pratiques
- Atelier : manipulation et opérations courantes sur différents types de variables
Tests unitaires et gestion d’erreurs en PHP
- Configuration d’un environnement de tests avec PHPUNIT
- Développement en TDD (Test Driven Development) et BDD (Behavior Driven Development)
- Ecrire du code testable
- Configuration, planification et gestion des erreurs
- Déclencher, lire et stocker les erreurs captées
- Les exceptions
- Atelier : création d'un système d'enregistrement d'erreurs testé
Programmation Orientée Objet : les bases de la POO en PHP
- Classes et instances
- Propriétés et méthodes
- Constructeur et destructeur
- Visibilité
- Principes d'attribution des responsabilités et encapsulation
- Héritage
- Composition
- Polymorphisme
Programmation Orientée objet : concepts avancés du PHP
- Méthodes « magiques »
- Constantes
- Propriétés, méthodes et classes statiques
- Classes abstraites
- Interfaces
Programmation Orientée objet : Designs Patterns
- Pourquoi et quand utiliser les designs patterns
- Singleton
- Factory
- Decorator
- Observer
- MVC (Model Vue Controller)
Organiser son code PHP avec les espaces de noms
- Espaces de noms
- Modularisation
- Auto-chargement
- Imports, alias
- Résolutions
Autres concepts avancés en PHP
- Closures et fonctions anonymes
- Self et Late static binding
- Générateurs et Iterateurs
Base de données
- Mise en place d’une BDD MySql
- Interconnexion PHP / MySql via PDO
- Traitements, clauses et requêtes PDO
- Sécurité et injections
Services et API REST
- Génération d’emails, PDF et RSS
- Connexion à des API externes
Traitement et génération XML
- Traitement et génération de points REST produisant du JSON
- Traitement et génération XML
- Exploitation d'un parseur XML pour importation / exportation de données
- Upload de fichiers XML, traitement et insertion dans une base de données
- Export (téléchargement) de fichier XML à partir de données provenant de la base de données
- Génération de flux RSS
Pratique : création d’une application de type CRM (Customer Relationship Management)
- Conception et cahier des charges (cas d’utilisations, acteurs, UML, …)
- Préparation physique du projet sous un modèle MVC
-
Développement d’une bibliothèque de classes dirigé par écritures de tests TDD
Cœur applicatif
Configuration
API REST
Gestion des erreurs
ORM BDD
- Gestion de formulaires
Compréhension des tableaux GET et POST
Récupération des données insérées côté serveur et traitements
Sécurisation contre les attaques XSS Javascript
Validation des données et vérification des formats (adresses email, mots de passe, numéros de téléphone, ...)
Connexion données client / base de données
Notifications et retours des résultats de traitement serveur
- Mise en forme d’une interface client (HTML/CSS) générée par le serveur et connectée via XMLHttpRequest
Questions / réponses
Autres stages de formations associés
Formation WordPress - Niveau 1
Formation WordPress - Niveau 2
< Précédent | Suivant > |
---|