Aller au contenu principal

PHP : construire son propre framework

Développement 174 arrow small right Web avancé

web backend POO PHP Design Patterns

  • Durée

    3 jour(s)
  • Niveau

    Avancé
  • Référence

    DE-086

Présentation

Un framework (ou cadriciel, ou infrastructure logicielle) n’est pas qu’un ensemble de fonctions disponibles : il structure le développement. Cette structure s’obtient en imposant l’ordre dans lequel s’exécute votre code, en contraignant les endroits dans lesquels votre code peut être rédigé ou encore en imposant des conventions de nommage.
Que vous souhaitiez créer votre propre framework, contribuer aux frameworks existants, mieux comprendre comment ceux-ci fonctionnent ou tout simplement améliorer vos compétences dans la création d’interfaces de programmation, cette formation vous propose de découvrir les composantes essentielles des frameworks : l’inversion de contrôle, les design patterns (patrons de conception) utilisés et les bonnes pratiques à respecter.

Objectifs de la formation

  • Savoir expliquer et utiliser l’inversion de contrôle
  • Savoir intégrer des bibliothèques existantes
  • Savoir utiliser à son avantage les patrons de conception (design patterns)
  • Apprendre à développer en laissant des espaces de configuration
  • S’initier à déterminer une syntaxe adaptée pour l’interface de programmation

Public

  • Toute personne souhaitant améliorer ses compétences en développement informatique.

Prérequis

  • Une connaissance de PHP équivalente à la formation DE-083 (PHP : Initiation à Laravel) est nécessaire
  • Une connaissance de la programmation orientée objet équivalente à la formation DE-088 (POO et Design Patterns) est nécessaire
  • Une connaissance des fonctionnalités avancées de PHP équivalente à la formation DE-084 (PHP : créer un environnement robuste et résilient) est un plus

Programme

1- Cadrer le développement

Ce qu’est et ce que n’est pas un framework
Notions d’inversion de contrôle
Quelle philosophie ? 
Déterminer les objectifs du framework
Les pièges à éviter

2- Inverser le contrôle

Offrir des espaces de développement en verrouillant le fonctionnement général
Définir un cycle de vie adapté : démarrage, routage, gestion d’erreurs, …
Création de systèmes d’injection de dépendances
Permettre la surcharge d’un comportement
Système de « hooks » (grappins), système événementiel, système de fichiers

3- Séparer la définition de l'implémentation

Notion d’interface au sens général
Différents modèles de pilotes (drivers) : avantages et inconvénients
Algorithme par chaînage et design pattern « Chaîne de responsabilité »
Verrouiller le typage sans coupler du code : analyse et solutions

4- Offrir des éléments de configuration

Quelle syntaxe pour quels usages ? Avantages et inconvénients
Choisir entre dotenv, JSON, YAML, XML, base de données …
Interpréter la configuration : bonnes pratiques et conventions
Adapter le cycle de vie du framework à la configuration

5- Intégrer et organiser des bibliothèques externes

Composants conseillés : tests, linter, HTTP, appels système, documentation
Respect des PSR (PHP Standard Recommandations)
Transformer son framework en module composer
Définir une structure de dossiers adaptée
Créer un package privé via composer

Date de dernière modification : 11/01/2023

Organisation

162 arrow small up 163 arrow small down

Modalités d'évaluation :

Questionnaires à choix multiples (QCM) en fin de formation. L'intervenant formulera également une appréciation sur vos acquis pour l'entièreté de la formation.

Moyens pédagogiques :

Formation alternant la théorie et la pratique, avec un intervenant présentant la formation en direct. Possibilité de réaliser cette formation en face-à-face dans nos locaux, dans vos locaux d'entreprise ou à distance via visioconférence.
Une fois terminée, vous disposerez d'une attestation de suivi de la formation, ainsi que des contenus de cours relatifs au contenu présenté.

Informations pratiques :

En cas de dispense dans nos locaux, le matériel informatique est fourni et l'ensemble des commodités sont accessibles. Nos locaux sont également accessibles aux personnes à mobilité réduite : découvrir notre centre.
Retrouvez toutes les informations pratiques pour préparer votre formation sur notre page dédiée : informations pratiques.

Ces formations pourraient vous intéresser

  • Web back : sessions, cache, APIs

    Dans le développement backend, de nombreux concepts sont à l’œuvre. On trouvera par exemple la connexion à une base de données, la gestion des fichiers, ou encore dans le modèle SSR (Server-Side Rendering) la génération de …

    En savoir plus
  • PHP : créer un environnement robuste et résilient

    Si PHP 4, il y a plus de quinze ans, utilisait un paradigme uniquement procédural (structuré en fonctions), le langage a fait son chemin et propose aujourd’hui les paradigmes orienté objet et fonctionnel. L’environnement …

    En savoir plus
  • PHP CLI : utiliser PHP pour créer ses scripts système

    PHP est un langage de programmation qui tire ses origines du développement web dynamique : il est dans l’imaginaire collectif dédié à la création de sites et d’applications web. Cependant, tout comme ses pairs …

    En savoir plus