Heim > Backend-Entwicklung > PHP-Problem > So rufen Sie eine private Methode einer Klasse in PHP auf

So rufen Sie eine private Methode einer Klasse in PHP auf

王林
Freigeben: 2023-03-12 09:28:02
Original
3067 Leute haben es durchsucht

Die spezifischen Schritte zum Aufrufen der privaten Methode einer Klasse in PHP: 1. Über den Klassennamen reflektieren; 2. Über den Methodennamen die angegebene Methode abrufen; 5. Führen Sie die Methode aus.

So rufen Sie eine private Methode einer Klasse in PHP auf

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP 7.1, Thinkpad T480-Computer.

Wie sollen wir die private Methode einer Klasse in PHP aufrufen? Wir wissen, dass es in PHP eine vollständige Reflexions-API gibt und die Möglichkeit zum Reverse Engineering von Klassen, Schnittstellen, Funktionen, Methoden und Erweiterungen hinzugefügt wurde. Anschließend können wir durch Reflexion private Methoden in einer Klasse aufrufen und ausführen.

Werfen wir einen Blick auf die spezifische Code-Implementierung.

Code-Implementierung:

<?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);
?>
Nach dem Login kopieren

Das Obige ist der gesamte Implementierungscode. Freunde können den obigen Code lokal ausführen.

Wenn Sie großes Interesse an PHP-Kursen haben oder Ihre Programmierkenntnisse verbessern möchten, sind Sie herzlich willkommen, am 17. php-Training-Kurs der chinesischen PHP-Website teilzunehmen.

Das obige ist der detaillierte Inhalt vonSo rufen Sie eine private Methode einer Klasse in PHP auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage