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 ?

Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ?

慕斯
慕斯original
2021-06-17 17:44:152784parcourir

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.

Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ?

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'attribut

Prenons le code comme exemple :

Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ?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 = &#39;林徽因&#39;;
    protected $pome = &#39;答案很长,我准备用一生的时间来回答,你准备要听了吗?&#39;;
    private $time = &#39;民国&#39; ;
}
$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;
    }
Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ? imprime ensuite $name, et le code

affiche le résultat :

Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ? Par conséquent, nous pouvons utiliser l'instruction if pour juger via le code ci-dessus :

 if ($name == &#39;pome&#39;){
            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 externe

Cette 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 :

Que sont les méthodes magiques en PHP ? Quelles sont les méthodes magiques couramment utilisées ?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 = &#39;答案很长,我准备用一生的时间来回答,你准备要听了吗?&#39;;

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 php

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