Maison  >  Article  >  développement back-end  >  Explication détaillée de certaines classes de méthodes magiques PHP courantes

Explication détaillée de certaines classes de méthodes magiques PHP courantes

PHPz
PHPzoriginal
2023-03-31 09:08:17402parcourir

PHP est un langage de script côté serveur très populaire et largement utilisé dans le développement Web et le traitement de données. Les méthodes magiques en PHP font référence à certaines fonctions spéciales qui sont automatiquement appelées lors de la création, de la destruction, de l'affectation, etc. d'objets pour faciliter l'exploitation des objets par les programmeurs. Cet article présentera quelques classes de méthodes magiques PHP courantes.

  1. __méthode construct()

__la méthode construct() est la méthode de construction d'un objet lorsqu'un objet est créé, cette méthode est automatiquement appelée. Dans cette méthode, certaines opérations d'initialisation peuvent être effectuées, telles que l'attribution de valeurs aux propriétés, la connexion à la base de données, etc. Des exemples spécifiques sont les suivants :

class Person{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
}
$person = new Person('张三',18);
echo $person->name; //输出"张三"
echo $person->age; //输出18
  1. __méthode destruct()

__la méthode destruct() est la méthode destructrice d'un objet lorsqu'un objet est détruit, cette méthode sera automatiquement appelée. Dans cette méthode, certaines opérations de nettoyage peuvent être effectuées, telles que la fermeture de la connexion à la base de données. Des exemples spécifiques sont les suivants : la méthode

class Person{
    public function __destruct(){
        echo "对象已经被销毁";
    }
}
$person = new Person();
unset($person); //销毁对象
//输出 "对象已经被销毁"
  1. __get() et la méthode __set()

__get() et la méthode __set() sont utilisées pour accéder aux attributs non définis et attribuer respectivement des valeurs aux attributs non définis. Plus précisément, lors de l'accès à un attribut non défini, le système appellera automatiquement la méthode __get() et transmettra le nom de l'attribut en tant que paramètre ; lors de l'attribution d'une valeur à un attribut non défini, le système appellera automatiquement la méthode __set() et le transmettra. le nom de l'attribut et la valeur de l'attribut comme paramètres. Des exemples spécifiques sont les suivants : La méthode

class Person{
    private $name;
    public function __get($property){
        if($property=='name'){
            return $this->name;
        }
    }
    public function __set($property,$value){
        if($property=='name'){
            $this->name = $value;
        }
    }
}
$person = new Person();
$person->name = "张三"; //赋值给未定义的属性
echo $person->name; //访问未定义的属性
//输出 "张三"
  1. __toString()

__la méthode toString() est utilisée pour renvoyer la représentation sous forme de chaîne d'un objet. Lorsqu'un objet est utilisé pour la sortie, les opérations sur les chaînes, etc., le système appelle automatiquement cette méthode. Des exemples spécifiques sont les suivants : La méthode

class Person{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    public function __toString(){
        return "姓名:".$this->name." 年龄:".$this->age;
    }
}
$person = new Person('张三',18);
echo $person; //输出 "姓名:张三 年龄:18"
  1. __clone()

__clone() est utilisée pour copier un objet. Lorsqu'un objet est cloné, le système appelle automatiquement cette méthode. Dans cette méthode, des opérations telles que la copie ou l'initialisation de certaines propriétés peuvent être effectuées. Des exemples spécifiques sont les suivants :

class Person{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    public function __clone(){
        $this->name = "克隆对象";
        $this->age = 0;
    }
}
$person1 = new Person('张三',18);
$person2 = clone $person1;
echo $person1->name; //输出 "张三"
echo $person2->name; //输出 "克隆对象"
echo $person1->age; //输出 18
echo $person2->age; //输出 0

En plus des méthodes magiques ci-dessus, il existe d'autres méthodes magiques en PHP, telles que la méthode __isset(), la méthode __unset(), etc. En utilisant ces méthodes magiques, vous pouvez facilement compléter l'exploitation et la gestion des objets et améliorer l'efficacité du développement.

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!

Déclaration:
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