PHP 5, 7 et 8 – Développement Web avancé et programmation objet

Objectifs pédagogiques

  • Coder en objet en PHP
  • Structurer une architecture MVC
  • Mapper des objets avec PDO et l’ORM Doctrine
  • Créer des Web Services REST
  • Déterminer les bonnes pratiques.

Modalités et moyens pédagogiques

Formation délivrée en présentiel ou distanciel (e-learning, classe virtuelle, présentiel à distance).

Le formateur alterne entre méthode démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).

Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :

  • Ordinateurs Mac ou PC, connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
  • Environnements de formation installés sur les postes de travail ou en ligne
  • Supports de cours et exercices

En cas de formation intra sur site externe à Did´s Dev, le client s’assure et s’engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique…)

au bon déroulement de l’action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.

Niveau requis

Avoir des connaissances pratiques de base sur PHP.

Public concerné

Programmeurs, responsables informatique, développeurs d’applications et spécialistes de bases de données.

Cette formation :

  • Est animée par un consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par Did´s Dev
  • Bénéficie d’un suivi de son exécution par une feuille de présence émargée par demi-journée par les stagiaires et le formateur.

Programme

Jour 1

La programmation objet en PHP

  • Classes, objets, méthodes et propriétés
  • Visibilité des attributs
  • Le constructeur
  • L’héritage et les interfaces
  • Gestion des exceptions en PHP objet
  • Apports de PHP 8 pour les classes et fonctions
  • Les classes Weak Map
  • L’interface Stringable
  • Fonctions str_contains, starts_with, ends_with
  • Nouvelles API d’accès au DOM

Exemples de travaux pratiques (à titre indicatif)

  • Conception d’une architecture de programme incluant des classes représentant des composants métier et des entités
  • Création de classes intégrant des propriétés et des méthodes
  • Ajout de la visibilité de ces attributs
  • Ajout de l’héritage
  • Conception d’interfaces et exploitation du polymorphisme
  • Création de composants clients permettant d’instancier ces objets
  • Ajout d’un traitement des exceptions sur ce programme

Jour 2

Les espaces de nommage

  • Avantages et impacts sur le code

Exemple de travaux pratiques (à titre indicatif)

  • Utilisation des espaces de nommage dans un projet fourni

Conception MVC

  • Séparation des attributions entre scripts
  • La couche modèle et données
  • Le rôle du contrôleur
  • Le rôle des vues
  • Force de l’objet dans le modèle MVC

Exemples de travaux pratiques (à titre indicatif)

  • Modification du projet précédent afin de l’intégrer dans un modèle MVC créé lors du cours
  • Création du composant contrôleur et des vues
  • Ajout d’un routage simple

Jour 3

Couche d’accès aux données

  • La couche d’abstraction PDO
  • Limites de PDO
  • Mapping objet relationnel et Data Access Layer

Exemples de travaux pratiques (à titre indicatif)

  • Modification du projet déjà mené pour ajouter des accès PDO à une base de données MySQL
  • Ajout des divers types d’accès à la base, avec requêtes diverses

Etude d’un ORM

  • Création des classes entités
  • Les fichiers de configuration
  • Les annotations
  • Le mode « commande »
  • Génération de la base
  • Gestion des identifiants
  • Génération des requêtes
  • Mapping sur base existante
  • Lazy loading et associations

Jour 4

Etude d’un ORM – Suite

  • Rappel des points abordés la veille

Exemples de travaux pratiques (à titre indicatif)

  • Utilisation d’un ORM comme Doctrine pour réaliser les accès base
  • Configuration, réalisation des POPO et traitement depuis un client

PHP et les services Web

  • Introduction aux services Web
  • Rappels XML
  • Extension SOAP
  • SoapServer et SoapClient
  • Choisir SOAP ou REST ?
  • Présentation de REST
  • Ecriture d’un Web Service REST
  • Manipulation de JSON en PHP
  • Présentation de JSON-RPC
  • Comparatif de JSON-RPC avec REST

Exemple de travaux pratiques (à titre indicatif)

  • Création d’un programme serveur de Web Service SOAP (et REST) ainsi qu’un client

Jour 5

Sécurité

  • Configuration de PHP
  • Safe mode
  • Configuration de MySQL
  • XSS et Injections

Bonnes pratiques de développement en PHP

  • Débogage et profiling
  • Mise en cache et compression
  • Pistes pour les performances
  • Les solutions de codage à retenir

Exemples de travaux pratiques (à titre indicatif)

  • Ecriture et compréhension des patterns utiles en PHP
  • Ecriture de code exploitant les bonnes pratiques, pour la version donnée de PHP (5 et 7)

Fonctionnalités utiles

  • FPDF
  • GD

Exemples de travaux pratiques (à titre indicatif)

  • Ecriture d’un programme de formatage d’une sortie PDF avec FPDF
  • Conception de graphiques sur le serveur avec GD et rapatriement sur le client

Le contenu de ce programme peut faire l’objet d’adaptation selon les niveaux, prérequis et besoins des apprenants.

Modalités d’évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d’auto-évaluation et/ou un examen Did´s Dev

Durée : 5 jours (35 heures)

Code : PHP-PE

Modalités : Distantiel / Intra

Prix : 2.750,- €