Les méthodes magiques
3 h
1 exercice
Niveau 7
Les méthodes magiques sont des méthodes spéciales qui écrase l'action par défaut de PHP quand certaines actions sont réalisées sur un objet.
Les méthodes suivantes sont considérées magiques :
__construct()
__destruct()
__call()
__callStatic()
__get()
__set()
__isset()
__unset()
__sleep()
__wakeup()
__serialize()
__unserialize()
__toString()
__invoke()
__set_state()
__clone()
__debugInfo()
Exemple __construct()
__construct(mixed ...$values = ""): void
PHP 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é.
Exemple :
<?php
class BaseClass {
function __construct() {
print("Dans le constructeur de BaseClass\n");
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print("Dans le constructeur de SubClass\n");
}
}
class OtherSubClass extends BaseClass {
// Constructeur hérité de BaseClass
}
// Dans le constructeur de BaseClass
$obj = new BaseClass();
// Dans le constructeur de BaseClass
// Dans le constructeur de SubClass
$obj = new SubClass();
// Dans le constructeur de BaseClass
$obj = new OtherSubClass();
?>
Exemple : arguments dans le constructeur
<?php
class Point {
protected int $x;
protected int $y;
public function __construct(int $x, int $y = 0) {
$this->x = $x;
$this->y = $y;
}
}
$p1 = new Point(4, 5);
$p2 = new Point(4);
$p3 = new Point(y: 5, x: 4);
?>
Exemple __destruct()
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !