Maison > développement back-end > Problème PHP > Comment appeler une méthode privée de classe en php

Comment appeler une méthode privée de classe en php

王林
Libérer: 2023-03-12 09:28:02
original
3091 Les gens l'ont consulté

Étapes spécifiques pour appeler des méthodes privées d'une classe en PHP : 1. Réfléchir via le nom de la classe ; 2. Instancier via la classe réfléchie ; 3. Obtenir la méthode spécifiée via le nom de la méthode ; méthode .

Comment appeler une méthode privée de classe en php

L'environnement d'exploitation de cet article : système windows10, php 7.1, ordinateur thinkpad t480.

Comment doit-on appeler la méthode privée d'une classe en php ? Nous savons qu'il existe une API de réflexion complète en PHP, et la possibilité de procéder à l'ingénierie inverse des classes, des interfaces, des fonctions, des méthodes et des extensions a été ajoutée. Nous pouvons ensuite appeler et exécuter des méthodes privées dans une classe par réflexion.

Jetons un coup d'œil à l'implémentation spécifique du code.

Implémentation du code :

<?php
 
//MyClass这个类中包含了一个名为myFun的私有方法
class MyClass {
    
    private $tmp = &#39;hello&#39;;
    
    private function myFun()
    {
        echo $this->tmp . &#39; &#39; . &#39;world!&#39;;
    }
}
 
//通过类名MyClass进行反射
$ref_class = new ReflectionClass(&#39;MyClass&#39;);
 
//通过反射类进行实例化
$instance  = $ref_class->newInstance();
 
//通过方法名myFun获取指定方法
$method = $ref_class->getmethod(&#39;myFun&#39;);
 
//设置可访问性
$method->setAccessible(true);
 
//执行方法
$method->invoke($instance);
?>
Copier après la connexion

Ce qui précède est tout le code d'implémentation. Les amis peuvent exécuter le code ci-dessus localement.

Si vous êtes très intéressé par les cours PHP ou si vous souhaitez améliorer vos compétences en programmation, vous êtes invités à rejoindre le 17ème cours de formation php sur le site php chinois.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal