__call 當(dāng)要調(diào)用的方法不存在或權(quán)限不足時(shí),會(huì)自動(dòng)調(diào)用__call 方法。
__callStatic 當(dāng)調(diào)用的靜態(tài)方法不存在或權(quán)限不足時(shí),會(huì)自動(dòng)調(diào)用__callStatic方法。
__call($funcname, $arguments)
__callStatic($funcname, $arguments)
參數(shù)說(shuō)明:
$funcname String 調(diào)用的方法名稱。
$arguments Array 調(diào)用方法時(shí)所帶的參數(shù)。
class Test{ public function __call($fun,$arg) { echo "當(dāng)調(diào)用的方法不存在或者沒(méi)有權(quán)限時(shí), 就開(kāi)始調(diào)用__call了<br/>"; echo "方法名: $fun<br/>"; var_dump($arg); } public static function __callStatic($fun,$arg) { echo "當(dāng)調(diào)用的靜態(tài)方法不存在或者沒(méi)有權(quán)限時(shí), 就開(kāi)始調(diào)用__callStatic了<br/>"; echo "調(diào)用方法名: $fun<br/>"; var_dump($arg); } } $test = new Test(); $test -> sing('莊子',18); //Test類中沒(méi)有 sing方法 , 自動(dòng)調(diào)用 __call方法 Test::zhuangzi('carl','男'); //Test類中沒(méi)有 zhuangzi 靜態(tài)方法 自動(dòng)調(diào)用 __callStatic方法