Introduction à la POO en PHP
Nous allons maintenant étudier la POO en PHP. Prenons un exemple de la vie réelle, puis transposons-le en PHP.
Prenons l'exemple d'une voiture. Elle a des roues, une couleur, un type de carrosserie, une cylindrée et ainsi de suite. De plus, le conducteur peut lui donner des commandes : avancer, s'arrêter, tourner à droite, à gauche, etc.
On peut dire qu'il existe une certaine classe de voitures, possédant des propriétés communes (toutes ont des roues et toutes peuvent recevoir des commandes).
Une voiture spécifique, garée dans la rue - est un représentant de cette classe, ou, en d'autres mots, un objet de cette classe. Tous les objets de cette classe ont des propriétés : le nombre de roues, la couleur, le type de carrosserie et des méthodes : avancer, s'arrêter, tourner à droite, à gauche.
En d'autres termes, la classe elle-même est un plan, selon lequel les voitures sont fabriquées à l'usine. L'objet est la voiture elle-même, fabriquée selon ces plans.
En PHP, une classe est créée à l'aide du mot-clé
class, suivi du nom
de cette classe. Créons la classe Car :
<?php
class Car
{
// ici le code, c'est-à-dire le plan PHP de la voiture
}
?>
Précisons maintenant dans notre plan que toute voiture, créée selon ce plan, aura une propriété pour la couleur et une propriété pour la quantité de carburant.
Pour cela, écrivons à l'intérieur de la classe la propriété
$color et la propriété $fuel :
<?php
class Car
{
// Définissons les propriétés (essentiellement des variables de classe) :
public $color; // couleur de la voiture
public $fuel; // quantité de carburant
}
?>
Créons maintenant les méthodes de notre classe.
En PHP, les méthodes, comme les fonctions ordinaires, sont déclarées
à l'aide du mot-clé function,
devant lequel on écrit le mot-clé
public.
Comme mentionné précédemment, notre voiture peut avancer, peut tourner, peut s'arrêter. Créons les méthodes correspondantes dans notre classe :
<?php
class Car
{
public $color; // couleur de la voiture
public $fuel; // quantité de carburant
// Commande avancer :
public function go()
{
// du code PHP quelconque
}
// Commande tourner :
public function turn()
{
// du code PHP quelconque
}
// Commande s'arrêter :
public function stop()
{
// du code PHP quelconque
}
}
?>
Nous avons créé le plan de notre voiture. Maintenant, il faut aller à l'usine et créer un objet de cette classe (c'est-à-dire une voiture spécifique).
En PHP, cela se fait à l'aide du mot-clé
new, après lequel on écrit le nom de la classe :
<?php
new Car;
?>
Cependant, si on crée simplement un objet de la classe - cela ne mènera à rien (c'est comme si, par exemple, on déclarait un tableau sans l'enregistrer nulle part). Nous avons besoin d'une variable pour stocker cet objet.
Que cette variable s'appelle $myCar
- enregistrons-y l'objet que nous avons créé :
<?php
$myCar = new Car;
?>
Après la création de la voiture, on peut accéder
à ses propriétés. L'accès à celles-ci se fait
via la flèche ->. Définissons
les propriétés de notre objet :
<?php
$myCar = new Car; // commandons à l'usine de fabriquer une voiture
// Définissons les propriétés de l'objet :
$myCar->color = 'red'; // peindre en rouge
$myCar->fuel = 50; // faire le plein de carburant
?>
Voilà, notre voiture est créée, peinte et ravitaillée. Maintenant, nous pouvons lui donner des commandes via les méthodes de cette voiture.
L'accès aux méthodes se fait également via la flèche, mais, contrairement à une propriété, après le nom de la méthode, il faut mettre des parenthèses. Commandons notre objet :
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>