首頁 >後端開發 >PHP問題 >php call魔術方法的作用是什麼

php call魔術方法的作用是什麼

青灯夜游
青灯夜游原創
2021-09-03 11:44:372180瀏覽

php “__call()”魔術方法在調用不存在或不可訪問的方法時會被調用,其作用為:讓程式繼續執行下去,避免當調用的方法不存在或不可訪問時,產生錯誤導致程式終止。

php call魔術方法的作用是什麼

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

在物件導向程式設計中,PHP 提供了一系列的魔術方法,這些魔術方法為程式設計提供了許多便利,在PHP 中的作用是非常重要的。 PHP 中的魔術方法通常以__(兩個底線)開始,不需要明確的呼叫而是在某種特定條件下自動呼叫的。

其中,__call()或__callStatic()方法就是為了實作重載而設計的,以下跟大家介紹一下__call方法。

php __call魔術方法

#當呼叫類別中一個不可存取或不存在的方法時,__call() 方法會被呼叫。此方法的語法格式如下:

public function __call($name, $arguments){
    ... ... ;
}

其中,$name 為要呼叫的方法名稱,$arguments 為傳遞給 $name 的參數所組成的陣列。

當呼叫的方法不存在時會自動呼叫 __call() 方法,程式會繼續執行下去,從而可以避免當呼叫方法不存在時產生錯誤所導致的程式終止。

【範例】下面使用簡單的範例來示範一下 __call() 方法的使用。

<?php
header("Content-type:text/html;charset=utf-8");
class Website{
    public function say(){
        echo &#39;Welcome PHP中文网!<br>&#39;;
    }
    public function __call($name, $arguments){
        echo &#39;你所调用的方法:&#39;.$name;
        if(!empty($arguments)){
            echo &#39;【以及参数:&#39;;
            print_r($arguments);
            echo &#39;】&#39;;
        }
        echo &#39; 不存在!<br>&#39;;
    }
}
$obj = new Website();
$obj -> say();
$obj -> url(&#39;https://www.php.cn/&#39;);
$obj -> title();
?>

運行結果如下:

php call魔術方法的作用是什麼

推薦學習:《PHP影片教學

以上是php call魔術方法的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn