首頁 > 後端開發 > PHP問題 > php中怎麼呼叫類別的私有方法

php中怎麼呼叫類別的私有方法

王林
發布: 2023-03-12 09:28:02
原創
3071 人瀏覽過

php中呼叫類別的私有方法的具體步驟:1、透過類別名稱進行反射;2、透過反射類別進行實例化;3、透過方法名稱取得指定方法;4、設定可存取性; 5、執行方法。

php中怎麼呼叫類別的私有方法

本文操作環境:windows10系統、php 7.1、thinkpad t480電腦。

在php中我們該如何去呼叫類別的私有方法呢?我們知道php中是有完整的反射API的,並且加入了對類別、介面、函數、方法和擴充進行反向工程的能力,那麼我們就可以透過反射來呼叫執行一個類別中的私有方法。

接下來讓我們一起來看看具體的程式碼實作吧。

程式碼實作:

<?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);
?>
登入後複製

以上就是全部的實作程式碼了,小夥伴們可以在本地執行下上述程式碼。

如果大家對PHP課程非常有興趣,或是想要提升自己的程式設計能力,歡迎大家參加php中文網17期php培訓班。

以上是php中怎麼呼叫類別的私有方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板