什麼是__call()魔術方法?
__call是魔術方法中的一個,當程式呼叫到目前類別中未宣告或沒權限呼叫的方法時,就會呼叫__call方法。 __call()方法包含兩個參數,即方法名稱和方法參數。其中,方法參數是以陣列形式存在的。
下面我們舉個簡單的例子幫助大家理解:
<?php header("content-type:text/html;charset=utf-8"); class Sport{ public function run(){ echo '方法存在直接调用我'; } function __call($name, $arguments) { echo '方法不存在调用我'; echo '<br/>'; echo '方法名为:'. $name; echo '<br/>'; echo '参数为:<pre class="brush:php;toolbar:false">'; var_dump($arguments); } } $sport = new Sport(); $sport ->run(); echo '<br/>'; $sport ->football('贝克汉姆',30);
我們創建一個類,在類中創建一個run方法和魔術方法__call()。接著,我們實例化物件$sport呼叫兩個方法,一個是在類別中存在的run()方法,一個是不存在的football()方法。大家可以執行程式碼查看結果。
以上是魔術方法__call()實例詳解(php物件導向進階教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!