PHP __call()方法重載

2018-12-08 16:03 更新


public mixed __call ( string $name , array $arguments )
public static mixed __callStatic ( string $name , array $arguments )

在對(duì)象中調(diào)用一個(gè)不可訪(fǎng)問(wèn)方法時(shí),__call() 會(huì)被調(diào)用。

在靜態(tài)上下文中調(diào)用一個(gè)不可訪(fǎng)問(wèn)方法時(shí),__callStatic() 會(huì)被調(diào)用。

$name 參數(shù)是要調(diào)用的方法名稱(chēng)。$arguments 參數(shù)是一個(gè)枚舉數(shù)組,包含著要傳遞給方法 $name 的參數(shù)。


實(shí)例

使用 __call() 和 __callStatic() 對(duì)方法重載

<?php
class MethodTest 
{
    public function __call($name, $arguments) 
    {
        // 注意: $name 的值區(qū)分大小寫(xiě)
        echo "Calling object method '$name' "
             . implode(', ', $arguments). "\n";
    }

    /**  PHP 5.3.0之后版本  */
    public static function __callStatic($name, $arguments) 
    {
        // 注意: $name 的值區(qū)分大小寫(xiě)
        echo "Calling static method '$name' "
             . implode(', ', $arguments). "\n";
    }
}

$obj = new MethodTest;
$obj->runTest('in object context');

MethodTest::runTest('in static context');  // PHP 5.3.0之后版本
?>

運(yùn)行實(shí)例 ?


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)