Pour déclarer une classe en PHP, il faut utiliser le mot-clé `class` suivi par le nom de la classe et une paire d’accolades pour délimiter le corps de la classe. À l’intérieur de ces accolades, vous pouvez définir des propriétés (variables) et des méthodes (fonctions) de la classe. Voici un exemple basique :
```
class Voiture {
// Propriétés
public $marque;
public $couleur;
// Utilisation de la classe
$maVoiture = new Voiture(“Toyota”, “Rouge”);
echo $maVoiture->afficherDetails();
?>
```
Dans cet exemple, nous avons défini une classe `Voiture` avec deux propriétés publiques `$marque` et `$couleur`. Un constructeur `__construct()` est utilisé pour initialiser ces propriétés lors de l’instanciation de la classe. Nous avons également défini une méthode `afficherDetails()` qui renvoie une chaîne de caractères contenant la marque et la couleur de la voiture.
Les propriétés sont des variables qui appartiennent à une classe. Elles sont définies avec des modificateurs de visibilité tels que `public`, `protected`, et `private`.
- `public` : accessible depuis l’extérieur de la classe.
- `protected` : accessible uniquement à l’intérieur de la classe et des classes dérivées.
- `private` : accessible uniquement au sein de la classe.
Les méthodes sont des fonctions définies à l’intérieur d’une classe. Les méthodes peuvent également avoir des modificateurs de visibilité. De plus, elles peuvent être `static` si elles appartiennent à la classe elle-même plutôt qu’à une instance de la classe.
```
class Calculatrice {
// Méthode statique
public static function ajouter($a, $b) {
return $a + $b;
}
}
// Utiliser une méthode statique sans créer une instance de la classe
echo Calculatrice::ajouter(5, 10);
?>
```
PHP permet aux classes de dériver d’autres classes, ce qui permet à une classe enfant d’hériter des propriétés et des méthodes d’une classe parent. Pour déclarer une classe enfant, utilisez le mot-clé `extends` :
```
class Vehicule {
public $type;
class Moto extends Vehicule {
// Hérite des propriétés et méthodes de Vehicule
public function afficherDetails() {
return “Ceci est une moto de type: “ . $this->type;
}
}
$maMoto = new Moto(“Sport”);
echo $maMoto->afficherDetails();
?>
```
Pour garantir que ces informations sont exactes et fiables, voici quelques sources reconnues en développement PHP :
1. [PHP Manual – Classes and Objects](https://www.php.net/manual/en/language.oop5.basic.php)
2. [W3Schools – PHP OOP Classes and Objects](https://www.w3schools.com/php/php_oop_classes.asp)
3. [MDN Web Docs – PHP Object-Oriented Programming](https://developer.mozilla.org/en-US/docs/learn/php/oop)
Ces ressources offrent des explications détaillées et de nombreux exemples supplémentaires qui peuvent vous aider à approfondir vos connaissances sur la déclaration et l’utilisation des classes en PHP.