Le constructeur PHP est une fonction spéciale dans une classe. Lorsque l'opérateur new est utilisé pour créer une instance d'une classe, le constructeur sera automatiquement appelé.
Lorsqu'une fonction porte le même nom qu'une classe, cette fonction deviendra le constructeur.
Si une classe n'a pas de constructeur, le constructeur de la classe de base est appelé, s'il y en a un, le constructeur est appelé. (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
<?php class Auto_Cart extends Cart { function Auto_Cart(){ $this -> add_item("10", 1); } } ?>
Ce qui précède définit une classe Auto_Cart, c'est-à-dire la classe Cart plus un constructeur, et à chaque fois "new" est utilisé pour create a Lors de la création d'une nouvelle instance de classe Auto_Cart, le constructeur sera automatiquement appelé et le numéro d'un élément sera initialisé à "10".
Les constructeurs peuvent prendre des paramètres, et ces paramètres peuvent être facultatifs, ce qui peut rendre le constructeur plus utile. Afin de continuer à utiliser la classe sans paramètres, tous les paramètres du constructeur doivent fournir des valeurs par défaut, les rendant facultatifs.
<?php class Constructor_Cart extends Cart { function Constructor_Cart($item = "10", $num = 1){ $this -> add_item($item, $num); } } //买些同样的无聊老货 $default_cart = new Constructor_Cart; //买些实在货... $different_cart = new Constructor_Cart("20", 17); ?>
void __construct ([mixed $args [, $... ]])
PHP 5 permet aux développeurs de définir une méthode en tant que constructeur dans une classe. Les classes avec un constructeur appelleront cette méthode à chaque fois qu'un objet est créé, elle est donc très appropriée pour effectuer un travail d'initialisation avant d'utiliser l'objet.
Remarque
Si un constructeur est défini dans une sous-classe, le constructeur de sa classe parent ne sera pas implicitement appelé. Pour exécuter le constructeur de la classe parent, vous devez appeler parent::__construct() dans le constructeur de la classe enfant.
Utilisez le nouveau constructeur standard :
<?php class BaseClass{ function__construct(){ print "InBaseClassconstructor\n"; } } class SubClass extends BaseClass{ function__construct(){ parent::__construct(); print "InSubClassconstructor\n"; } } $obj = new BaseClass(); $obj = new SubClass(); ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!