Programme de Formation PHP Avancé : Modélisation, Webservices, Librairies courantes + Déploiement, Tests, Frameworks
Introduction
Rappels POO en PHP
Gestion du contexte applicatif
S'adapter à la version PHP : nouveautés, dépréciations et retraits, revue des versions actuelles
Design Patterns
Présentation et principe ; intéret des Design Patterns
Design Patterns spécifiques au Web
L'architecture MVC
Le Singleton, Factory, Builder
Le Proxy, Adapter, Bridge
L'Iterator, Observer
L'injection de dépendance
Atelier : Implémenter plusieurs design patternComposer
PHP en ligne de commande CLI
Installation de composer
Déclaration du projet
Déclaration de dépendances, contraintes de version
Dépendances relatives à la plate-forme
Mise à jour et installation des dépendances
Auto-chargement des définitions (PSR-0, PSR-4, classmap, files)
Débogage des incompatibilités (why, why-not)
Atelier : Déclarer son projet avec composer, importer une bibliothèqueLes bases de données
Rappels : Accès à une base de données
Notions de base SQL & NoSQL
Introduction au Mapping Relationnel Object
Intérêt et avantage à l'utilisation d'un ORM
ORM PHP: Doctrine, Propel
Atelier : Installer et utiliser un ORMCryptographie
Principes et Notions de cryptographie
Distinguer Chiffrement et Hachage
Choisir son algorithme (puissance / cout) selon l'objectif
L'extension PHP de chiffrement : OpenSSL
Les extensions PHP de hachage : Hash et Password_hash
Atelier : Créer une classe de ChiffrementWeb Services
Présentation des services web et d'une architecture SOA
Présentation du Web Services Description Language (WSDL)
La bibliothèque SOAP de php
Présentation d'une architecture REST
Atelier : Réalisation d'un Service Web RESTLes 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