官方文件:
public mixed __call ( string $name , array $arguments )
public static mixed __callstatic ( string $name , array $arguments )
當呼叫乙個不可訪問方法(如未定義,或者不可見)時,__call() 會被呼叫。
當在靜態方法中呼叫乙個不可訪問方法(如未定義,或者不可見)時,__callstatic() 會被呼叫。
$name 引數是要呼叫的方法名稱。$arguments 引數是乙個陣列,包含著要傳遞給方法$name 的引數。
demo 1
<?phpclass
personwriter
function writeage( person $p) }
class
person
function __call( $method, $args
) }
function getname()
function getage()
}$person= new person( new
personwriter() );
$person->writename();
$person->writeage();
?>
php 使用 call實現鉤子方法
我有乙個大膽的想法,就是在某某方法執行前與執行後會自動執行某些函式,實現如下 class hook private function invoker name,arguments public function call name,arguments class other public funct...
PHP中的魔術方法之 call 和
對於這兩個方法的使用,不做過多的解釋,通過例項 和結果,大家可以更加清晰的認識兩者的作用 1.call 方法。當呼叫乙個沒有在類中宣告的方法時,可以呼叫 call 方法代替宣告乙個方法。接受方法名和陣列作為引數。例項 class test list new test list say 1,2,3 執...
js中call 和apply 的使用
1.call 的使用 下面來看一段 function animal name,food function rabbit name,food var judy new rabbit judy carrot judy.say 輸出什麼?輸出 judy likes carrot.可以看出,我們宣告了乙個叫...