Maison > développement back-end > Problème PHP > Qu'est-ce qu'un constructeur en php

Qu'est-ce qu'un constructeur en php

(*-*)浩
Libérer: 2023-02-24 11:42:02
original
3680 Les gens l'ont consulté

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é.

Qu'est-ce qu'un constructeur en php

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);
    }
}
?>
Copier après la connexion

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);
?>
Copier après la connexion
void __construct ([mixed $args [, $... ]])
Copier après la connexion

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();
?>
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal