[php]view plain
copy
<?php
class human
//魔術方法__call
/* $method 獲得方法名
$arg 獲得方法的引數集合
*/
public function __call($method,$arg)
//魔術方法__callstatic
public static function __callstatic($method,$arg)
} $li=new human();
$li->say(1,2,3);
/* 呼叫乙個未定義的方法
fatal error: call to undefined method human::say() in d:\wamp\www\php\59.php on line 8
*/
$li->t('a','b');
/*
__call是呼叫不可見(不存在或無許可權)的方法時,自動呼叫
$lisi->say(1,2,3);-----沒有say()方法----> __call('say',array(1,2,3))執行
*/
human::cry('痛哭','鬼哭','號哭');
/*
__callstatic 是呼叫不可見的靜態方法時,自動呼叫.
human::cry('a','b','c')----沒有cry方法---> human::__callstatic('cry',array('a','b','c'));
*/
?>
天氣預報小例項
[php]view plain
copy
<?php
//獲得每個城市天氣預報
class action
/* $m 方法名
$p 方法引數集合
*/
public function __call($m,$p)
} $c=new action();
$c->tj();
//獲得城市
結果:
tj天氣預報
beijing天氣預報
*/
?>
魔術方法之 call與
class human 魔術方法 call param string method 獲得方法名 param string arg 獲得方法的引數集合 public function call method,params 魔術方法 callstatic public static function c...
魔術方法之 call
1.call 作用,當呼叫不存在的方法時,會呼叫該方法。實際應用,當程式呼叫不存在的方法時,意外導致程式終止。或者當你呼叫了受保護的或者是私人的方法時,也會自動呼叫 call方法 結果 2.callstatic 形式 callstatic name,arr 應用場景 1 物件呼叫未定義的靜態函式時,...
PHP中的魔術方法之 call 和
對於這兩個方法的使用,不做過多的解釋,通過例項 和結果,大家可以更加清晰的認識兩者的作用 1.call 方法。當呼叫乙個沒有在類中宣告的方法時,可以呼叫 call 方法代替宣告乙個方法。接受方法名和陣列作為引數。例項 class test list new test list say 1,2,3 執...