魔術方法__call(string $name, array $arguments)

背景:在調用對象中不存在或不可訪問(私有受保護)的方法時,程序拋出致命的錯誤終止程序的進行。php

爲了處理這種錯誤的同時讓程序繼續執行,咱們能夠在類中添加一個魔術方法__call,來調用對象中不存在的方法時自動調用該方法,而且使程序能夠繼續向下執行。函數


<?php
    class Person{         
        function say(){  
            echo "Hello, wblog!<br>"對象

 }          
        function __call($funName, $args) { //聲明此方法用來處理調用對象中不存在的方法                   blog

            echo      "你所調用的函數:".$funName."不存在!<br>\n";                       io

            }function

      }class

$Person=new Person();            
$Person->run("teacher"); //調用對象中不存在的方法,則自動調用了對象中的__call()方法
$Person->say();程序

?>方法

運行結果: im

你所調用的函數run不存在!

Hello, wblog!

總結:

在類中添加一個魔術方法__call,在調用對象中不存在的方法時就會自動調用該方法,而且程序能夠繼續向下執行。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息