Tutoriel sur la POO en PHP8
Bases
Introduction
Classes et objets
Propriétés
Méthodes
Paramètres des méthodes
Propriétés dans les classes
Méthodes dans les classes
Constructeur
Propriétés via les paramètres du constructeur
Propriétés privées
Méthodes privées
Getters des propriétés
Setters des propriétés
Avantages des setters et getters
Avancé
Fichiers de classes
Chaînes de méthodes dans une classe
Classe comme un ensemble de méthodes
Tableaux d'objets
Objets dans les classes
Opérateur de récupération sécurisée
Opérateur de récupération sécurisée dans les chaînes
Manipulation d'objets dans les classes
Passage par référence
Opérateur instanceof
Héritage
Héritage de classes
Héritage des méthodes publiques
Méthodes de la classe enfant
Redéfinition des méthodes parentes
Appel de la méthode redéfinie
Constructeur et héritage
Méthodes privées et héritage
Propriétés privées et héritage
Problème des propriétés privées avec l'héritage
Méthodes protégées
Propriétés protégées
Opérateur instanceof et héritage
Appels
Nom de propriété à partir d'une variable
Nom de propriété à partir d'un tableau
Nom de propriété à partir d'un tableau associatif
Nom de propriété à partir d'une fonction
Nom de propriété à partir d'un objet
Méthode à partir d'une variable
Appel après création
Static
Méthodes statiques
Méthodes statiques à l'intérieur de la classe
Propriétés statiques
Propriété statique à l'intérieur de la classe
Appel via la classe et l'objet
Combinaison avec static
Méthodes statiques et $this
Exemple
Fonctions
Obtention du nom de classe
Obtention des méthodes de classe
Obtention des propriétés de classe
Obtention des propriétés d'objet
Vérification de l'existence d'une classe
Vérification de l'existence d'une méthode
Vérification de l'existence d'une propriété
Obtention de la classe parente
Vérification de l'héritage de classe
Vérification de l'appartenance d'un objet
Obtention de toutes les classes déclarées
Résumé
Interfaces
Introduction aux interfaces
Pratique sur l'utilisation des interfaces
Règles de nommage des interfaces
Application des interfaces
Paramètres des méthodes dans l'interface
Déclaration du constructeur dans l'interface
Héritage des interfaces entre elles
Interfaces et instanceof
Implémentation de plusieurs interfaces
Héritage d'une classe et implémentation d'une interface
Constantes dans les interfaces
Fonctions pour les interfaces
Traits
Introduction aux traits
Plusieurs traits
Conflits de méthodes
Modificateurs d'accès
Modification des droits d'accès aux méthodes du trait
Priorité des méthodes
Méthodes abstraites
Traits dans les traits
Fonctions pour les traits
Magie
Introduction
Méthode __toString
Obtention des propriétés
Propriétés en lecture seule
Lecture d'une propriété inexistante
Définition des propriétés
Écriture dans une propriété inexistante
Vérification des propriétés lors de l'écriture
Pratique
Espaces de noms et autochargement
Introduction aux espaces de noms
Syntaxe des espaces de noms
Sous-espaces de noms
Appel simplifié
Espaces de noms dans les fichiers
Chemins relatifs dans l'espace de noms
Commande use
Connexion de plusieurs classes
Commande use et chemins relatifs
Alias de classes
Autochargement standard des classes
Règles d'autochargement
Autochargement personnalisé des classes