PHP 類 get函式實驗

2021-06-12 02:45:29 字數 835 閱讀 9479

<?php

#doc

# classname: test_class

# scope: public

# #/doc

class test_class

function __get($value)

else

} }

$kk = new test_class('deng', 'deng2', 24);

//name2是public,外部可以直接通過類名讀取,如果name2存在,將直接輸出name2的值,並不會通過__get()函式。

echo $kk->name2;

//為了區分,此處輸出乙個換行。

echo "

"; //name和age是private,外部不可以直接訪問,以下種方法訪問將會自動呼叫__get()函式,輸出處理在函式內實現,

echo $kk->name;

echo $kk->age;

echo $kk->***;

?>

四次echo

第一次是通過類名直接訪問,沒有呼叫__get()函式,

第二次和第三次通過__get()函式呼叫,並在陣列$vars內,if成立,輸出正確的值,

第四次***不在陣列$vars內,if不成立,輸出not such value;

實際環境輸出如下:

deng2

__get call 

deng

__get call 

24__get call 

not such value 

PHP類中的 get 和

類預設自帶的 get 和 set 當試圖獲取乙個不可達變數時,類會自動呼叫 get 所以在php中相當於可以直接用物件訪問私有屬性 因為會自動呼叫 get 方法 a new物件 modeltime newmodeltime b 用new出來的物件直接呼叫屬性 echo modeltime perda...

PHP實現HTTP的POST與GET 類

php實現http的post與get 類 php socket程式設計,傳送http請求 http請求類的介面 此方法負責寫請求行 protectedfunctionsetline method 此方法負責寫頭資訊 publicfunctionsetheader headerline 此方法負責寫主...

PHP系統類函式

php系統類函式 assert函式 檢查assertion宣告是否錯誤 extension loaded函式 檢查php擴充套件是否載入 get cfg var函式 獲取php配置選項的值 get current user函式 獲取當前php指令碼的所有者的名稱 get defined consta...