Table des matières
Méthodes magiques courantes
Liés aux attributs
Liés à la méthode
Exemple complet
Maison développement back-end tutoriel php Méthode magique orientée objet PHP

Méthode magique orientée objet PHP

Jun 06, 2018 am 09:57 AM
php面向对象 魔术方法

Cet article présente principalement les méthodes magiques orientées objet en PHP, qui ont une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Méthodes magiques courantes

.

Liés aux attributs

__set($property, $value)     给不可访问的属性赋值

__get($propertyName)         调用不可访问的属性

__isset($content)    
对不可访问的属性使用empty()、isset()时触发

__unset($content)     
对不可访问的属性使用unset()时触发
Copier après la connexion

Liés à la méthode

__call(string $function_name, array $arguments)    
调用不可访问的普通方法
$function_name  被调用的方法名
$arguments      被调用方法的多个参数


__callStatic(string $function_name, array $arguments)
调用不可访问的静态方法
Copier après la connexion

Exemple complet

<?php

class Example
{
    // 可访问的属性
    public $price = 111;

    //不可访问的属性
    private $secret = &#39;我是不可访问的属性&#39;;
    private $age = 23;

    //不可访问的普通方法
    private function donTell()
    {
        echo &#39;不能说的秘密&#39;;
    }

    //不可访问的静态方法
    private static function super()
    {
        echo &#39;我是不可访问的静态方法&#39;;
    }

    //魔术方法
    public function __set($property, $value)
    {
        echo &#39;给不可访问的属性赋值,您要设置的属性是&#39;.$property.&#39;,值是&#39;.$value;
        $this -> $property = $value;
    }

    public function __get($propertyName)
    {
        echo &#39;调用私有属性&#39;.$propertyName.&#39;,它的属性值是&#39;.$this -> $propertyName;
    }

    public function __isset($content)
    {
        echo &#39;你在对不可访问的属性进行empty()、isset()操作&#39;;
        isset($this->$content);
    }

    public function __unset($content)
    {
        echo &#39;你在对不可访问的属性进行unset()操作&#39;;
        isset($this->$content);
    }


    public function __call($function_name,$args)
    {
        echo &#39;你在调用不可访问的普通方法&#39;;
        echo &#39;方法名是&#39;.$function_name;
        var_dump($args);
    }

    public static function __callStatic($function_name,$args)
    {
        echo &#39;调用不可访问的静态方法&#39;;
        echo &#39;方法名是&#39;.$function_name;
    }

}


//实例化对象
$e1 = new Example();


/******* 触发各种魔术方法 ***********/

// 测试__set方法
$e1 -> secret = &#39;我是秘密&#39;;
echo &#39;<hr/>&#39;;

// 测试__get方法
$e1 -> age;
echo &#39;<hr/>&#39;;

// 测试__isset()方法
echo isset($e1 -> age);
echo &#39;<hr/>&#39;;

// 测试__unset方法
unset($e1 -> age);
echo &#39;<hr/>&#39;;

// 测试__call方法
$e1 -> donTell([1,2,3]);
echo &#39;<hr/>&#39;;

// 测试__callStatic方法
$e1 -> super();



?>
Copier après la connexion

Recommandations associées :

Méthodes, propriétés et constantes statiques orientées objet php

Constructeurs et destructeurs orientés objet 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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Décrypter la métaprogrammation Python : des bases aux paradigmes avancés Décrypter la métaprogrammation Python : des bases aux paradigmes avancés Feb 19, 2024 pm 03:30 PM

Bases de la métaprogrammation Python La métaprogrammation Python est la capacité de manipuler dynamiquement le code Python, ce qui fait de Python un langage très puissant. La métaprogrammation peut être implémentée des manières suivantes : Décorateur de classe : Un décorateur de classe est un décorateur qui modifie la définition d'une classe. Il peut être utilisé pour ajouter ou modifier les propriétés et méthodes d'une classe, et peut également être utilisé pour contrôler le processus d'instanciation d'une classe. defadd_method_to_class(cls):defnew_method(self):print("Thisisanewmethod")setattr(cls,"new_method",new_method)returncls@a

Une explication approfondie de l'encapsulation orientée objet de PHP Une explication approfondie de l'encapsulation orientée objet de PHP Aug 11, 2023 am 11:00 AM

Interprétation approfondie de l'encapsulation orientée objet PHP L'encapsulation est l'une des trois caractéristiques majeures de la programmation orientée objet. Elle fait référence à l'encapsulation de données et d'opérations sur les données dans une classe, au masquage de détails d'implémentation spécifiques aux programmes externes et à la fourniture d'interfaces externes. En PHP, le concept d'encapsulation est implémenté en utilisant des modificateurs d'accès (public, protégé, privé) pour contrôler l'accessibilité des propriétés et des méthodes. Tout d’abord, examinons le rôle des modificateurs d’accès : public (public) : les propriétés et méthodes publiques peuvent

Comment suivre l'ordre d'exécution des méthodes magiques PHP ? Comment suivre l'ordre d'exécution des méthodes magiques PHP ? Apr 17, 2024 pm 09:33 PM

L'ordre d'exécution des méthodes magiques PHP suit les règles suivantes : les méthodes magiques avec une priorité élevée sont exécutées en premier. Si la sous-classe et la classe parent définissent des méthodes magiques portant le même nom, la méthode magique de la sous-classe sera exécutée en premier. Si une classe définit à la fois une méthode régulière et une méthode magique portant le même nom, la méthode régulière sera exécutée en premier.

Comment implémenter le contrôle et la gestion des versions d'objets via un modèle d'usine simple orienté objet PHP Comment implémenter le contrôle et la gestion des versions d'objets via un modèle d'usine simple orienté objet PHP Sep 06, 2023 pm 02:39 PM

Comment implémenter le contrôle et la gestion des versions d'objets via le modèle d'usine simple orienté objet PHP Lors du développement de projets PHP volumineux et complexes, le contrôle et la gestion des versions sont très importants. Grâce à des modèles de conception appropriés, nous pouvons mieux gérer et contrôler la création et l'utilisation des objets, améliorant ainsi la maintenabilité et l'évolutivité du code. Cet article explique comment utiliser le modèle de fabrique simple orienté objet PHP pour implémenter le contrôle et la gestion des versions d'objets. Le modèle d'usine simple est un modèle de conception permettant de créer des classes qui instancient des objets spécifiés via une classe d'usine.

Qu'est-ce qu'une méthode magique ? Comment l'utiliser dans Laravel Qu'est-ce qu'une méthode magique ? Comment l'utiliser dans Laravel Sep 26, 2022 pm 08:21 PM

Qu'est-ce qu'une méthode magique ? Comment l’utiliser dans Laravel ? L'article suivant vous présentera comment appliquer les méthodes magiques PHP dans Laravel. J'espère qu'il vous sera utile !

Développement PHP : utilisez des méthodes de réflexion et de magie pour réaliser une génération automatique de code et des appels dynamiques Développement PHP : utilisez des méthodes de réflexion et de magie pour réaliser une génération automatique de code et des appels dynamiques Jun 15, 2023 pm 04:16 PM

Dans le développement PHP, les méthodes de réflexion et magiques sont deux techniques couramment utilisées. Lorsque nous devons générer automatiquement du code ou appeler dynamiquement certaines fonctions, les méthodes de réflexion et de magie peuvent rendre notre code plus flexible et plus efficace. Dans cet article, nous explorerons comment utiliser les méthodes de réflexion et de magie pour réaliser une génération automatique de code et un appel dynamique. Reflection est un outil puissant fourni par PHP, qui peut nous aider à obtenir des informations telles que des classes, des méthodes et des propriétés lorsque le programme est en cours d'exécution. Grâce à la réflexion, nous pouvons obtenir dynamiquement des informations telles que des méthodes, des propriétés et des annotations d'une classe ou d'un objet, afin que

Méthodes magiques pour les fonctions PHP Méthodes magiques pour les fonctions PHP May 19, 2023 am 08:06 AM

PHP est un langage de script côté serveur développé sur la base du langage C, largement utilisé dans le développement Web. Les fonctions sont l'un des composants les plus basiques et les plus couramment utilisés dans les programmes. PHP fournit également de nombreuses méthodes magiques liées aux fonctions, qui peuvent aider les développeurs à mieux tirer parti des fonctions. Dans cet article, nous présenterons les méthodes magiques des fonctions PHP et leur utilisation. __construct()__construct() est l'une des méthodes magiques les plus couramment utilisées en PHP. Elle est automatiquement appelée lors de la création d'un objet pour l'initialisation.

Vous présente 16 méthodes magiques PHP Vous présente 16 méthodes magiques PHP May 16, 2022 pm 08:45 PM

Qu'est-ce qu'une méthode magique ? Cet article vous présentera 16 méthodes magiques que les développeurs PHP doivent connaître. J'espère que cela vous sera utile !

See all articles