Ce référentiel contient du matériel et des exercices pour un cours sur la programmation orientée objet (POO) en PHP. Le cours couvre plusieurs concepts clés de la POO, notamment les constructeurs, l'héritage et la visibilité.
Basé sur 4 piliers de la POO : Encapsulation, Abstraction, Héritage et Polymorphisme.
En PHP, un constructeur est une méthode « magique » spéciale qui est automatiquement appelée lors de la création d’un objet. Il est généralement utilisé pour initialiser les propriétés de l'objet. Dans ce cours, vous apprendrez à définir et utiliser des constructeurs dans vos classes PHP.
L'héritage est un concept fondamental en POO qui permet de définir une nouvelle classe basée sur une classe existante. Cela vous permet de réutiliser le code et de créer des classes plus spécialisées basées sur des classes générales. Ce cours vous apprendra à utiliser l'héritage en PHP pour créer un code plus efficace et organisé.
La visibilité en PHP POO fait référence à l'accessibilité des propriétés et des méthodes d'une classe. Il existe trois niveaux de visibilité :
Dans ce cours, vous apprendrez à utiliser ces différents niveaux de visibilité pour contrôler l'accès à votre code.
- `::` Scope Resolution Operator
- Like the `__toString` method is called when an object is used in a string context.
- Getters and Setters can have property names passed to get around multiple method calls
- An abstract class is a class that **cannot be instantiated on its own** and is typically used as a base class for other classes.
- The abstract class provides properties and funciontality which is shared by all the classes that inherit from it.
- Declared in an abstract class implementation is provided by the classes that inherit from the abstract class.
- if class extends three dimensions shape aka abstract it must implement the abstract method `getVolume`
- Good for:
- You want to provide a common interface for different classes
- You want to enforce certain methods to be implemented by the child class
- You are designing a large functional unit by using the Template Method patter
- Default implementation of a method in an interface
- Objects that can take on many forms
- an instance of an object that can take more than one type is polymorphic
- Injecting this single type is not as usefull `public function updateStockFromFile(string $path, CsvFileReader $fileReader): array`
- Using `instanceof` we can check if the object is of a certain type
- Closure functions
- Abstract classes and methods
- Uml diagrams
- Dependency injection
PHP
POO
Apprentissage-PHP
Cours PHP
Constructeurs
Héritage
Visibilité
Encapsulation
Abstraction
Polymorphisme
PHPUnit
AOP
Espaces de noms
Chargement automatique
Caractéristiques
Gestion des erreurs
MySQL
Compositeur
Test-PHP
Développement piloté par les tests