Programme de Formation PHP Avancé : Déploiement, Tests, Frameworks
Les Tests en PHP
Bibliothèques de test Unitaire: PHPUnit, PHPSpec
Installation de PHPUnit
Ecriture d'une classe de test
Utilisation des assertions
Les helpers PHPUnit_Framework_TestCase
Utiliser les dépendances d'objet: Les Mocks
Exécution des tests
Atelier : Tester plusieurs classesDéploiement d'applications PHP
Sécurité des scripts PHP : éviter les failles
Se prémunir des attaques Cross-Site Scripting (XSS)
Eviter les injections SQL
Se protéger contre le Cross-Site Request Forgery (CSRF)
Gestion des erreurs et des exceptions PHP
Atelier : Protéger son application des failles phpEtude de cas : Utilisation d'un Framework
Introduction à CodeIgniter
Utiliser l'architecture MVC
Gestion des urls
Lier un controller à une url
Associer une vue à un controller
Utiliser les modèles
Atelier : Créer une application avec CodeIgniter
Programme de Formation PHP Intermédiaire : Programmation Orientée Objet
Introduction
Rappel : versions, environnement, configuration et modules
Rappel : types, opérateurs, structure de contrôle et fonctions
Appréhender l’orienté objet, lier conception et programmation
Structurer les traitements au travers d’objets
Créer des scénarios web via une organisation d’objetsSyntaxe fondamentale de l’objet en PHP
Définition : objet, instance et classe
Grouper des traitements : les classes et méthodes
Passage de paramètres et retour : le «type hinting»
Partager des données entre méthodes : les attributs, notion d’encapsulation
Instancier et faire appel à des objets
La visibilité des membres : méthodes, des attributs et constantes
Accès statiques
Implémenter les scénarios via des classes et les testerTravailler avec plusieurs objets
Association : principe et notion de dépendance
Manipuler un objet via un autre : l’agrégation
Contrôler le cycle de vie d’un objet via la composition
Les espaces de nommages : namespaces
Charger automatiquement des définition : autoload
Lier les objets entre eux, définir des niveaux d’abstractionGestion du typage
Passer un contrat via la déclaration d’interface
Étendre les comportement d’un objet par héritage
Factoriser des comportements au travers d’une classe parent
Factoriser des comportements au travers d’un trait
Bloquer l’instanciation grâce aux classes abstraites
Comprendre les notions de polymorphisme et de généricité
Interactions entre classes, gestion de la cardinalitéPrendre en charge des formulaires
Récupérer les données du formulaire, méthode GET et POST
Gérer les différents type de champs et valider les valeurs
Rediriger l’utilisateur et s’exploiter les sessions
Uploader des fichiers, les valider et les enregistrer
Manipuler le système de fichier
Mises en place complète de formulairesPassage de la certification (si prévue dans le financement)
Programme de Formation PHP Intermédiaire : Exception, PDO
Erreurs et Exceptions
Erreurs en PHP : Description d'une erreur, niveaux
Journalisation des erreurs(log)
Personnaliser le gestionnaire d'erreurs
Les exceptions : définition, exceptions courantes
Capturer et prendre en charge une exception
Lever d'une exception
Définir les cas particuliers à gérer via des exceptions, mettre en place les traitementsPHP Data Objects ( PDO )
Structure des classes de PDO
Connexion au serveur de données, les pilotes et dsn
Effectuer des requêtes simples
Récupérer les données dans une boucle
Définir le format du résultat (tableau, colonne, objet, classe)
Récupérer l’identifiant d’une insertion
Préparer des requêtes et les utiliser avec des paramètres
Éviter les injections SQL
Lier le paramètre ou directement la donnée
Les cas des clauses LIKE et IN
Gestion des transactions
Gestion des erreurs
Mettre en place de multiples traitements en lecture et en écriture en base de donnéesPassage de la certification (si prévue dans le financement)
Programme de Formation PHP Intermédiaire : Programmation Orientée Objet + Exception, PDO
Introduction
Rappel : versions, environnement, configuration et modules
Rappel : types, opérateurs, structure de contrôle et fonctions
Appréhender l’orienté objet, lier conception et programmation
Structurer les traitements au travers d’objets
Créer des scenarii web via une organisation d’objetsSyntaxe fondamentale de l’objet en PHP
Définition : objet, instance et classe
Grouper des traitements : les classes et méthodes
Passage de paramètres et retour : le «type hinting»
Partager des données entre méthodes : les attributs, notion d’encapsulation
Instancier et faire appel à des objets
La visibilité des membres : méthodes, des attributs et constantes
Accès statiques
Implémenter les scenarii via des classes et les testerTravailler avec plusieurs objets
Association : principe et notion de dépendance
Manipuler un objet via un autre : l’agrégation
Contrôler le cycle de vie d’un objet via la composition
Les espaces de nommages : namespaces
Charger automatiquement des définition : autoload
Lier les objets entre eux, définir des niveaux d’abstractionGestion du typage
Passer un contrat via la déclaration d’interface
Étendre les comportement d’un objet par héritage
Factoriser des comportements au travers d’une classe parent
Factoriser des comportements au travers d’un trait
Bloquer l’instanciation grâce aux classes abstraites
Comprendre les notions de polymorphisme et de généricité
Interactions entre classes, gestion de la cardinalitéPrendre en charge des formulaires
Récupérer les données du formulaire, méthode GET et POST
Gérer les différents type de champs et valider les valeurs
Rediriger l’utilisateur et s’exploiter les sessions
Uploader des fichiers, les valider et les enregistrer
Manipuler le système de fichier
Mises en place complète de formulairesErreurs et Exceptions
Erreurs en PHP : Description d'une erreur, niveaux
Journalisation des erreurs(log)
Personnaliser le gestionnaire d'erreurs
Les exceptions : définition, exceptions courantes
Capturer et prendre en charge une exception
Lever d'une exception
Définir les cas particuliers à gérer via des exceptions, mettre en place les traitementsPHP Data Objects ( PDO )
Structure des classes de PDO
Connexion au serveur de données, les pilotes et dsn
Effectuer des requêtes simples
Récupérer les données dans une boucle
Définir le format du résultat (tableau, colonne, objet, classe)
Récupérer l’identifiant d’une insertion
Préparer des requêtes et les utiliser avec des paramètres
Éviter les injections SQL
Lier le paramètre ou directement la donnée
Les cas des clauses LIKE et IN
Gestion des transactions
Gestion des erreurs
Mettre en place de multiples traitements en lecture et en écriture en base de donnéesPassage de la certification (si prévue dans le financement)
Programme de Formation PHP - MySQL Initiation
Introduction
Présentation de PHP
Historique des versions
Communication Client/Serveur
Le protocole HTTP
Configurer son environnement de travail local
Consulter la documentation en ligne
Atelier : Mettre en place l’environnement de travailDécouvrir les bases
Comprendre le contexte Web et HTTP
Répondre avec un document HTML
Manipuler des données à l’aide des variables
Identifier les types de données
Afficher le contenu d’une variable
Documenter son code avec des commentaires
Déclarer et utiliser des constantes
Effectuer des calculs avec les opérateurs arithmétiques
Augmenter ou diminuer une valeur avec l’incrémentation et décrémentation
Atelier : Écrire un premier script en PHPLes structures de contrôle conditionnelles
Comparer des valeurs avec les opérateurs de comparaison et logiques
Appliquer des conditions if, elseif, else
Utiliser la comparaison large et stricte
Employer les syntaxes raccourcies : l’opérateur ternaire (?:) et de fusion null(??)
Utiliser les instructions switch et match
Manipuler les chaines de caractère
Définit l’encodage des caractères
Utiliser le caractère d’échappement (anti-slash)
Enchainer des chaines de caractère avec la concaténation
Inclure des variables dans une chaine de caractère : l’interpolation
Utiliser la syntaxe Heredoc
Convertir une valeur en une chaine de caractère
Formater une chaine de caractère avec les fonctions printf, sprintf
Utiliser les fonctions de chaine de caractère : trim, htmlentities, str_replace, etc
Manipuler les tableaux
Déclarer un tableau
Manipuler les valeurs d'un tableau
Afficher les valeurs
Utiliser les tableaux associatifs
Parcourir les tableaux : les structures itératives
Rechercher, trier, filtrer les valeurs d’un tableau
Atelier : Parcourir et mettre en forme les données d’un tableauAnalyser la requête
Récupérer la requête du client
Extraire les éléments d’une URL : paramètre d’url et de requête
Accéder aux superglobales $_SERVER et $_GET
Tester et valider les paramètres de requête
Construire une réponse
Manipuler les entêtes de réponse
Créer une redirection HTTP
Atelier : Créer une réponse en fonction des paramètres de requêteUtiliser les fonctions de PHP
Manipuler les dates et les timestamps
Régler le fuseau horaire
Inclure des fichiers avec include(_once), require(_once)
Identifier les types de variable
Atelier : Afficher et manipuler des datesCréer ses propres fonctions
Créer des fonctions et procédures
Déclarer des paramètres d'entrés
Typer les paramètres d’entrés et de retour
Mixer les types de variable : le type union
Transmettre un paramètre par référence
Déclarer un paramètre variable avec l’opérateur de décomposition
Utiliser les paramètres nommés
Retourner des valeurs : l’instruction return
Atelier : Créer une bibliothèque de fonctionsTraiter les données d'un formulaire
Récupérer les données d'un formulaire avec la superglobale $_POST
Tester et valider les données utilisateur
Se protéger contre les failles XSS et CSRF
Récupérer des fichiers avec la superglobale $_FILES
Lire et sauvegarder les fichiers uploadés
Atelier : soumettre et récupérer des données d’un formulaire
Programme de Formation PHP - MySQL Approfondissement
Réutiliser des informations sur de multiples requêtes
Découvrir le fonctionnement des sessions
Démarrer et accéder aux sessions
Lire et écrire dans les sessions
Atelier : Créer une authentificationLes bases de données
Identifier les types de base de données
Utiliser l’interface graphique phpMyAdmin
Créer une base de données avec phpMyAdmin
Construire des requêtes avec SQL
Identifier les types de données en SQL
Travailler avec les dates en SQL
Extraire des données
Ajouter, modifier, supprimer des données
Associer plusieurs tables dans une requête avec les jointures
Atelier : Créer plusieurs tables et les joindreConnecter PHP à une base de données
Exécuter des requêtes à l’aide des fonctions mysqli
Se connecter à une base de données
Gérer les erreurs de connexion
Soumettre des requêtes vers la bdd
Lire et afficher des données
Protéger nos requêtes contre les injections SQL
Atelier : Récupérer des données depuis la base de donnéesManipuler les fichiers
Présentation des fonctions principales
Ouvrir et fermer un fichier
Lire et écrire dans un fichier (txt, csv, json)
Utiliser les fonctions file_put_contents et file_get_contents
Atelier : Créer un fichier d’historique d’évènement (logs)