PHP魔術方法理解

2021-10-19 15:12:31 字數 1659 閱讀 4907

<?phpif(

!function_exists

('dump'))

else

$output=''

.$output

.'

';}

echo

$output;}

}class

magic

/** * 給乙個未定義的屬性賦值時呼叫

* @param string $name 呼叫的未定義的屬性名稱

* @param mixed $value 對未定義的屬性賦值的值

*/public

function

__set

($name

,$value

)/**

* 當在乙個未定義的屬性上呼叫isset()函式時呼叫此方法

* @param string $name 呼叫的未定義的屬性名稱

*/public

function

__isset

($name

)/**

* 當在乙個未定義的屬性上呼叫unset()函式時呼叫此方法

* @param string $name 呼叫的未定義的屬性名稱

*/public

function

__unset

($name

)// 第乙個引數是呼叫的方法的名稱,第二個引數是方法呼叫的引數組成的陣列

public

function

__call

($name

,$arguments

)public

static

function

__callstatic

($name

,$arguments

)/**

* 當嘗試以呼叫函式的方式呼叫乙個物件時,__invoke 方法會被自動呼叫。php5.3.0以上版本有效

*/public

function

__invoke(.

..$arg)}

// 當物件訪問不存在的方法時,__call()方法會被自動呼叫

$obj

=new

magic()

;$obj

->

call

('當物件訪問不存在的方法時,__call()方法會被自動呼叫');

// 當物件訪問不存在的靜態方法時,__callstatic()方法會被自動呼叫

$obj::

callstatic

('當物件訪問不存在的靜態方法時,__callstatic()方法會被自動呼叫');

// 當類訪問不存在的靜態方法時,__callstatic()方法會被自動呼叫

magic:

:callstatic

('當類訪問不存在的靜態方法時,__callstatic()方法會被自動呼叫');

$obj

->

get;

$obj

->

set=1;

isset

($obj

->

isset);

unset

($obj

->

unset);

$obj(1

,2);

PHP魔術方法的的理解

set 屬性不存在時自動設定屬性 屬性不存在時通過 set自動設定屬性 param key 鍵名 param value 屬性值 function set key,value object title blue 設定不存在的屬性,呼叫 set echo object title,輸出不存在的屬性,呼...

ROW NUMBER 方法理解

該函式的應用場景在於對錶中某個字段分組排序後,返回每個組別的行號 可以這麼理解 完整函式為row number over partition col1 ordoer by col2 可以理解為 對col1分組,按照col2排序,對col1的每個組的資料行返回乙個序號,從1開始。示例 表teacher...

sort方法 理解

static void sort list list 型別 t 必須實現 comparable 介面,並且這個介面的型別是 t。只有這樣,t 的例項之間才能相互比較大小。例如,在實際呼叫時若使用的具體類是 dog,那麼 dog 必須 implements comparable。型別 t 必須實現 c...