PHP魔術方法之 call與

2021-09-08 22:54:07 字數 1331 閱讀 2017

[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 執...