本文目錄一覽:
php中怎麼使用call
PHP5 的對象新增了一個專用方法 __call(),這個方法用來監視一個對象中的其它方法。如果你試著調用一個對象中不存在的方法,__call 方法將會被自動調用。 ?php class foo { function __call($name,$arguments) { print(“Did you call me? I’m $name!”); } } $x = new foo(); $x-doStuff(); $x-fancy_stuff(); ? 這個特殊的方法可以被用來實現「過載(overloading)」的動作,這樣你就可以檢查你的參數並且通過調用一個私有的方法來傳遞參數。 ?php class Magic { function __call($name,$arguments) { if($name==’foo’) { if(is_int($arguments[0])) $this-foo_for_int($arguments[0]); if(is_string($arguments[0])) $this-foo_for_string($arguments[0]); } } private function foo_for_int($x) { print(“oh an int!”); } private function foo_for_string($x) { print(“oh a string!”); } } $x = new Magic(); $x-foo(3); $x-foo(“3”); ?
如何在PHP中使用call
__call()方法,為了避免當調用的方法不存在時產生錯誤,可以使用 __call() 方法來避免。該方法在調用的方法不存在時會自動調用,程序仍會繼續執行下去。
如果你說的call只是調用函數。那就只需要定義函數 直接調用
php中怎麼用call
__call 是一個魔術方法,當調用一個不可訪問的對象方法(非靜態方法),會自動的執行該魔術方法。public funciton __call($name,$arr)
比如,在類外部,調用類中一個不存在的方法,就會自動執行這個__call方法( $name,$arr),參數$name代表的是你調用的方法名,$arr代表的是你調用這個方法裡面的所有參數。
class a {
pu blic function __call($name,$arr){
echo $name;
var_dump($arr);
}
}
$a = new a();
$a-testa(1,2,3);
此時,$name就是testa $arr就是array(1,2,3)組成的數組。
黑馬程序員的PHP是國內最早開設的真正人工智慧課程。課程全面系統,緊跟時代潮流。
原創文章,作者:WAX39,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128625.html