首頁  >  文章  >  後端開發  >  魔術方法__call()實例詳解(php物件導向進階教學)

魔術方法__call()實例詳解(php物件導向進階教學)

巴扎黑
巴扎黑原創
2017-04-18 18:16:532129瀏覽

什麼是__call()魔術方法?

 __call是魔術方法中的一個,當程式呼叫到目前類別中未宣告或沒權限呼叫的方法時,就會呼叫__call方法。 __call()方法包含兩個參數,即方法名稱和方法參數。其中,方法參數是以陣列形式存在的。

下面我們舉個簡單的例子幫助大家理解:

<?php
header("content-type:text/html;charset=utf-8");
class Sport{
public function run(){
echo &#39;方法存在直接调用我&#39;;
}
function __call($name, $arguments)
{
echo &#39;方法不存在调用我&#39;;
echo &#39;<br/>&#39;;
echo &#39;方法名为:&#39;. $name;
echo &#39;<br/>&#39;;
echo &#39;参数为:<pre class="brush:php;toolbar:false">&#39;;
var_dump($arguments);
}
}
$sport = new Sport();
$sport ->run();
echo &#39;<br/>&#39;;
$sport ->football(&#39;贝克汉姆&#39;,30);

我們創建一個類,在類中創建一個run方法和魔術方法__call()。接著,我們實例化物件$sport呼叫兩個方法,一個是在類別中存在的run()方法,一個是不存在的football()方法。大家可以執行程式碼查看結果。

以上是魔術方法__call()實例詳解(php物件導向進階教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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