導航:首頁 > 編程語言 > php私有的

php私有的

發布時間:2023-09-22 18:13:34

php中怎麼類外訪問私有方法

你問的是私有方法還是私有屬性?

你說的__get __set 是訪問和設置屬性用的。

__call才是訪問方法用的。

但這兩種都需要修改原始類,既然有這個許可權了,那私有方法有什麼必要定義呢?

另外一種獲取私有屬性或調用私有方法的思路是通過反射:

//MyClass這個類中包含了一個名為myFun的私有方法
classMyClass{

private$tmp='hello';

privatefunctionmyFun()
{
echo$this->tmp.''.'world!';
}
}

//通過類名MyClass進行反射
$ref_class=newReflectionClass('MyClass');

//通過反射類進行實例化
$instance=$ref_class->newInstance();

//通過方法名myFun獲取指定方法
$method=$ref_class->getMethod('myFun');

//設置可訪問性
$method->setAccessible(true);

//執行方法
$method->invoke($instance);

//獲取屬性
$property=$ref_class->getProperty('tmp');

//列印屬性
var_mp($property);

不知道你提這個單純是個問題,還是有別的需求,可以多看看php手冊學習一下。

php 訪問控制

php 反射

② php私有函數如何調用

要先搞清楚類和對象的關系
將一個類實例化後就變成對象,私有函數只能在類內部使用,不能在類外,也就是對象上使用,也不能在子類中使用,如定義一個parent類
class
parent{
private
function
_justForMyself(){
echo
"這是私有函數,只能在類內部使用哦";
}
public
function
forAll(){
echo
"這是公共函數,在類外和子類都可以使用";
echo
"因為我在類內,可以調用私有函數";
$this->_justForMyself();
}
}
現在我們實例化這個類,讓他變成一個對象
$obj
=
new
parent();//實例化parent類,讓他變成一個對象並賦值給$obj
$obj->forAll();//forAll是公共函數,因此這里可以執行看到輸出
$obj->_justForMyself();//_justForMyself是私有函數,類外不可使用,因此執行到這里會報錯

③ php子類可以繼承和訪問父類的私有屬性和方法嗎

你這樣理解也可以,當父類有私有的方法和屬性,子類是繼承不到的,所以子類不能訪問父類的私有方法和屬性。java
特性,private:類中只要限定為private的成員,只能被這個類本身訪問

④ PHP中private和public還有protected的區別

public:聲明方法和屬性可以被隨意訪問。
Protected:聲明的方法和屬性只能被類本身和其繼承子類訪問。
private:只能被定義屬性和方法的類訪問。

private 是完全私有的,只有當前類中的成員能訪問到.
protected 是受保護的,只有當前類的成員與繼承該類的類才能訪問.

protected的訪問權介於public和private之間,實際上三者的區別就是許可權問題,private和protected區別主要體現在其繼承類的訪問許可權上,這些你可以自己編寫一個程序,寫個類,編譯一下你就很清楚他們許可權的區別了。

私有成員private member
只能被成員函數和類的友元訪問
實行信息隱藏的類把其數據成員聲明為private

被保護成員protected member
對派生類derived class 就像public 成員一樣
對其他程序則表現得像private

閱讀全文

與php私有的相關的資料

熱點內容
打開微信收付款加密 瀏覽:396
小度app怎麼關閉看護助手 瀏覽:739
伺服器方舟boss屬性怎麼調 瀏覽:345
acos系統終端命令 瀏覽:913
寧德雲伺服器最新行情 瀏覽:475
壓縮性骨折五十天 瀏覽:656
如何在伺服器里把方塊替換 瀏覽:909
變頻空調摘板用什麼替代壓縮機 瀏覽:46
怎麼在蘋果手機上玩安卓和平精英 瀏覽:237
python非同步調用框架 瀏覽:963
安卓手機如何拍live圖 瀏覽:823
供應鏈管理系統源碼 瀏覽:944
方舟編譯器會適配哪些型號 瀏覽:470
主流雲伺服器哪個牌子好 瀏覽:267
導航怎麼看伺服器在那 瀏覽:932
廣石化單片機 瀏覽:281
和教育連接伺服器失敗是什麼原因 瀏覽:1003
建行app怎麼存定期 瀏覽:830
mc伺服器地址183 瀏覽:73
為什麼會解壓軟體解壓失敗 瀏覽:110