php call方法指的是「__call()」魔術方法,是在物件中呼叫一個不可存取方法時調用,call方法的格式是「function __call(string $function_name,array $arguments){方法體}」。
推薦:《PHP影片教學》
__call(),在物件中呼叫一個不可存取方法時調用。
此方法有兩個參數,第一個參數 $function_name 會自動接收不存在的方法名,第二個 $arguments 則以陣列的方式接收不存在方法的多個參數。
1、 __call() 方法的格式:
function __call(string $function_name, array $arguments){ // 方法体}
2、 __call() 方法的作用:
為了避免當呼叫的方法不存在時產生錯誤,而意外的導致程序中止,可以使用__call() 方法來避免。
該方法在調用的方法不存在時會自動調用,程式仍會繼續執行。
請參考以下程式碼:
<?phpclass Person{ function say() { echo "Hello, world!<br>"; } /** * 声明此方法用来处理调用对象中不存在的方法 */ function __call($funName, $arguments) { echo "你所调用的函数:" . $funName . "(参数:" ; // 输出调用不存在的方法名 print_r($arguments); // 输出调用不存在的方法时的参数列表 echo ")不存在!<br>\n"; // 结束换行 } } $Person = new Person(); $Person->run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法$Person->eat("小明", "苹果"); $Person->say();
運行結果:
你所调用的函数:run(参数:Array ( [0] => teacher ) )不存在! 你所调用的函数:eat(参数:Array ( [0] => 小明 [1] => 苹果 ) )不存在! Hello, world!
以上是php call方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!