Maison >développement back-end >Problème PHP >Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ?
L'article précédent vous présentait "Que sont l'héritage et la dérivation en PHP ? Comment utilise-t-on l’héritage ? 》, cet article continue de vous présenter qu'est-ce qu'une méthode magique en PHP ? Quelles sont les méthodes magiques couramment utilisées ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
1. Qu'est-ce qu'une méthode magique
Une méthode que le système appelle automatiquement à un moment précis
1. Qu'est-ce qu'une méthode magique ? 🎜>2. Méthodes magiques couramment utilisées :
_get
Minutage du déclenchement : appelé lorsque l'objet accède à des membres privés ou à des propriétés protégées. en externe
Cette méthode a un paramètre : le paramètre est le nom de l'attributPrenons le code comme exemple :
Nous créons d'abord un nouveau fichier et nous écrivons une classe Class, définissons les attributs dans la classe, puis nous créons un objet Lorsque nous allons afficher (faire écho) la classe que nous venons de définir, nous trouverons une erreur, car l'objet ne peut accéder qu'aux attributs publics, nous. ne peut pas accéder aux attribut protégés et privés, le code est le suivant :
<?php class Person { public $name = '林徽因'; protected $pome = '答案很长,我准备用一生的时间来回答,你准备要听了吗?'; private $time = '民国' ; } $niu = new Person(); echo $niu->pome; ?>
Le code affiche le résultat :
Nous constaterons qu'il y a un erreur lors de l'exécution de notre code ci-dessus, par conséquent, les propriétés protégées ne sont pas accessibles en externe. Et les propriétés privées, si nous voulons accéder aux propriétés membres protégées ou privées via l'objet en externe, la méthode get sera automatiquement déclenchée.public function __get($name){ echo $name; }imprime ensuite $name, et le code
affiche le résultat :
Par conséquent, nous pouvons utiliser l'instruction if pour juger via le code ci-dessus :
if ($name == 'pome'){ return $this->pome;
Le code affiche le résultat :
Ce qui précède est ce que nous appelons obtenir l'utilisation
--set
Minutage du déclenchement : appelé lorsque l'objet définit une valeur d'attribut de membre privé ou protégé en externeCette méthode a deux paramètres :
Paramètre 1 : Nom de l'attribut membre !Paramètre 2 : Valeur à définir
Prenons le code comme exemple :
Toutes les méthodes Magic utilisent toutes public. Comme ci-dessus, nous définissons les attributs dans la classe, puis nous créons un objet. L'attribut set a deux paramètres, l'un est le nom de l'attribut et l'autre est la valeur de l'attribut. les sortir en classe ;
public function __set($name,$value) { var_dump($name,$value); } } $niu = new Person(); //echo $niu->pome; $niu->pome = '答案很长,我准备用一生的时间来回答,你准备要听了吗?';
Résultat de l'affichage du code :
Supplément : (Expliqué en détail la prochaine fois)
Vous pouvez transmettre unset en externe Détruire les attributs publics dans l'objet_unset
Minutage de déclenchement : L'objet est appelé lorsque les attributs de membre privés ou protégés sont détruits en externe .
Cette méthode a un Un paramètre : Le paramètre est le nom de l'attribut membre privé_isset
Minutage du déclenchement : L'objet est appelé. lors du jugement externe des attributs de membre privés ou protégés,
Cette méthode a un paramètre : le paramètre est le nom de l'attribut de membre privéconstruct : Méthode constructeur
Temps de déclenchement : appelé automatiquement lors de la création de l'objet
destruct : méthode destructeur
toString (comprendre)Trigger timing : echo-triggers lorsqu'un object
Cette fonction doit renvoyer -Une chaîne__debugInfo (comprendre)
Minutage du déclenchement : var_dump - se déclenche lorsqu'un objet
Cette fonction doit renvoyer - un tableau Apprentissage recommandé : Tutoriel vidéo phpCe 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!