Programmation Orienté Objet
Introduction
A partir de la version 3 de PHP, on a commencé à voir apparaitre les notions de programmation objet.
Dans PHP 5, nous arrivons à une programmation objet qui s'améliore.
Par exemple, nous avons un constructeur est clairement identifié, le destructeur fait son apparition, de nouveaux mots
clefs font leur apparition (public, protected et private) ainsi que des interfaces et des classes abstraites.
Un objet est une instance d'une classe, une représentation concrète d'une classe.
L'instanciation d'une classe est possible grâce au mot clé "new".
Classe
Chaque définition de classe commence par le mot-clé class, suivi par le nom de la classe.
Une classe est une entité, un objet qui possède des propriétés et des fonctions.
Une classe est la représentation de cette objet.
Nous allons déclarer une classe "Client".
class Client
{
//Attributs
//methode
}
Nous allons instancier la classe Client, puis nous allons appeler une fonction de la classe, et enfin, nous détruirons cet
instance.
$paul = new Client() //instanciation
echo $paul->appeler(); //Appel a une methode de la classe
unset($paul); //destruction de l'objet.
Constructeur et destructeur
PHP 5 permet aux développeurs de déclarer des constructeurs pour les classes. Les classes qui possèdent
une méthode constructeur appellent cette méthode à chaque création d'une nouvelle instance de l'objet,
ce qui est intéressant pour toutes les initialisations dont l'objet a besoin avant d'étre utilisé.
PHP 5 introduit un concept de destructeur similaire aux autres langages orientés objet, comme le C++. La méthode
destructeur doit être appelée aussitôt que toutes les références à un objet particulier sont
effacées ou lorsque l'objet est explicitement détruit ou dans n'importe quel ordre de la séquence d'arrêt.
class Client {
function __construct() {
print "Client::constructor\n";
}
function __destruct() {
print "Client::Destruct";
}
}
$obj = new Client();
unset($obj);
Méthode
- class_parents() : Retourne un tableau de la classe parent et de tous ses parents
- class_implements() : Retourne un tableau de toutes les interfaces implémentées par la classe et par tous ses
parents
- get_class() : Retourne la classe de l'objet passé en paramètre
- get_called_class() : à utiliser dans une classe, retourne la classe appelée explicitement dans le code PHP et
non au sein de la classe
- class_exists() : Vérifie qu'une classe a été définie
- get_class() : Retourne la classe d'un objet
- get_declared_classes() : Retourne la liste des classes définies
- get_class_methods() : Retourne la liste des méthodes d'une classe
- get_class_vars() : Retourne la liste des propriétés d'une classe