Formation PHP Objet
programmation orientée objet (POO) aux fonctionnalités de PHP. La programmation orientée objet est une approche de programmation qui se concentre sur l'utilisation de "classes" et d'objets pour structurer et organiser le code. En utilisant PHP Objet, vous pouvez définir des classes qui représentent des types d'objets et qui peuvent être utilisées pour instancier de nouveaux objets. Chaque objet est une instance d'une classe et hérite de ses propriétés et méthodes. Vous pouvez également définir des interfaces qui spécifient les méthodes que les classes doivent implémenter, et utiliser l'héritage pour créer des classes qui étendent d'autres classes et qui héritent de leurs propriétés et méthodes. PHP Objet est souvent utilisé pour créer des applications web plus structurées et modulaires, et il peut être particulièrement utile pour les projets de grande envergure qui nécessitent une organisation et une réutilisation efficaces du code. Si vous souhaitez utiliser la programmation orientée objet dans vos projets PHP, vous devriez apprendre à utiliser PHP Objet. Cette formation s'adresse en particulier aux développeurs désireux de développer pour des frameworks.
Objectifs pédagogiques
- Maitriser les concepts objets de base
- Savoir configurer un autoloader
- Concevoir son propre modèle objet
- Pouvoir étendre le code d’une bibliothèque
- Identifier l’intérêt pour les Design Patterns
Pré-requis
- Pouvoir écrire du code PHP procédural
- Maitriser la syntaxe de PHP
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Programmation orientée objet
- Paradigme de programmation et historique
- Classe vs Objet
- Attributs, propriétés, champs
- Visibilité : public, protected, private
- Principe d’encapsulation
- Méthodes, accesseurs ou getters/setters
Aller plus loin avec les objets
- Namespace
- PHP-FIG et ses normes PSR-1, PSR-2…
- Autochargement de classe et PSR-4
- Composer : gestion de dépendance
- Constructeurs et destructeurs
- Constantes
- Exceptions : gestion des erreurs
Jour 2
Concevoir un modèle objet
- Types scalaires vs objet
- Références, clone et pseudo-variable $this
- Associations unidirectionnelles, bidirectionnelles, self-referencing
- Héritage et redéfinition
Concevoir ou étendre une bibliothèque
- Principes SOLID et KISS
- PSR-3, créer une bibliothèque de log
- Polymorphisme
- Interfaces
- Classes abstraites
- Traits
- Static et mot clé self
- Classes ou méthodes finales
Jour 3
Les particularités de PHP
- Type hinting
- Autres méthodes magiques
- Constantes magiques
- Sérialisation
- Extension d’objet
- Accès aux propriétés mères ou filles
- Interfaces du langage et SPL
- Les classes PDO, SimpleXML, Datetime
- Classes anonymes
Quelques Design Patterns
- Gang of Four / Martin Fowler
- Factory et Builder
- Adapter et Proxy
- Injection de dépendance et Conteneurs
- MVC : Modèle Vue Contrôleur
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation