Maison  >  Article  >  développement back-end  >  Exemples d'utilisation des méthodes magiques php

Exemples d'utilisation des méthodes magiques php

怪我咯
怪我咯original
2017-07-05 09:39:551168parcourir

Certaines fonctions appelées Méthodes magiques en PHP sont présentées ici : En fait, dans les applications générales, nous devons tous les utiliser ! !

Après PHP5.0, PHP est orienté objet avec plus de méthodes, ce qui rend PHP plus puissant ! !
Certaines fonctions appelées méthodes magiques en PHP sont présentées ici : En fait, dans les applications générales, nous devons tous les utiliser ! !

1.construct() Lors de l'instanciation d'un objet, cette méthode de l'objet est d'abord appelée.
Code Java
class Test { function construct() { echo "avant"; } } $t = new Test(); } } $t = new Test();
Le résultat est :
start
Nous savons que le modèle objet php5 et la fonction avec le même nom de classe sont le
constructeur du classe, alors si nous définissons tous les deux un constructeur et une méthode construct(), php5 appellera le constructeur par défaut au lieu de la fonction construct(), donc construct() sert de constructeur par défaut de la classe
2.destruct() Lors de la suppression d'un Cette méthode est appelée lorsque l'objet ou l'opération sur l'objet se termine. Code Java
class Test { function destruct() { echo "end"; } } $t = new Test(); affichera end
class Test { function destruct() { echo " end"; } } $t = new Test(); affichera end
Nous pouvons alors effectuer des opérations telles que libérer des ressources à la fin de l'opération sur l'objet

3.get() En essayant Appelé quand lire une propriété qui n'existe pas.
Si vous essayez de lire une propriété qui n'existe pas dans un objet, PHP donnera un
message d'erreur. Si nous ajoutons une méthode get à la classe, nous pouvons utiliser cette fonction pour implémenter diverses opérations similaires à la réflexion en Java. Code Java
class Test { public function get($key) { echo $key . n'existe pas" } } $t = new Test(); echo $t->name; le nom n'existe pas
class Test { public function get($key) { echo $key . } } $t = new Test(); n'existe pas Exists

4.set() est appelé lorsque vous essayez d'écrire une valeur dans une propriété qui n'existe pas. Code Java
class Test { public function set($key,$value) { echo 'pair'.$key .$value } } $t = new Test() ; $t->name = "aninggo"; affichera : valeur attachée au nom aninggo
class Test { public function set($key,$value) { echo 'pair'.$key .$ value; } } $t = new Test(); $t->name = "aninggo"; ajoutera une valeur au nom aninggo


5.call() lors de l'essai. appelé lors de l'appel d'une méthode sur un objet qui n'existe pas. Code Java
class Test { public function call($Key, $Args) { echo "La méthode {$Key} que vous souhaitez appeler n'existe pas. Les paramètres que vous avez transmis sont :" . print_r( $Args, true); } } $t = new Test(); $t->getName(aning,go);
class Test { appel de fonction publique($Key, $Args) { echo "Vous souhaitez appeler La méthode {$Key} n'existe pas. Les paramètres que vous transmettez sont : " . print_r($Args, true); } } $t = new Test(); $t->getName(aning,go). );
Le programme affichera :
Code Java
La méthode getName que vous souhaitez appeler n'existe pas. Les paramètres sont : Array
(
[0] => aning
[1] => go
)
La méthode getName que vous souhaitez appeler n'existe pas. Les paramètres sont : Array
(
[0] => aning
[1] => go
)

6.toString() est utilisé lors de l'impression d'un objet Appel de Cette méthode est similaire à la méthode toString de Java Lorsque nous imprimons l'objet directement, nous appelons cette fonction
class Test { public function toString() {
return "Print Test" ; } } $t = new Test(); echo $t; Lorsque echo $t; est exécuté, $t->toString(); >7.clone() est appelé lorsque l'objet est cloné

class Test { public function clone() { echo "J'ai été copié !" } }$t = new Test(); $t;Résultat du programme : j'ai été cloné !

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