用 call 實現方法過載

2021-05-26 07:08:16 字數 650 閱讀 3359

今天在網上發現了一片好文章,介紹_call()方法。

依靠這個方法可以實現方法過載,這是找了好久的東西了。

發在這裡,算作筆記。

---------------------------------------

php5 的物件新增了乙個專用方法 __call(),這個方法用來監視乙個物件中的其它方法。如果你試著呼叫乙個物件中不存在的方法,__call 方法將會被自動呼叫。

例七:__call

<?php

class foo 

} $x = new foo();

$x->dostuff();

$x->fancy_stuff();

?>

這個特殊的方法可以被用來實現「過載(overloading)」的動作,這樣你就可以檢查你的引數並且通過呼叫乙個私有的方法來傳遞引數。

例八:使用 __call 實現「過載」動作

<?php

class magic 

}   private function foo_for_int($x)    private function foo_for_string($x) 

} $x = new magic();

$x->foo(3);

$x->foo("3");

?>

PHP5學習筆記 用 call 實現方法過載

今天在網上發現了一片好文章,介紹 call 方法。依靠這個方法可以實現方法過載,這是找了好久的東西了。發在這裡,算作筆記。php5 的物件新增了乙個專用方法 call 這個方法用來監視乙個物件中的其它方法。如果你試著呼叫乙個物件中不存在的方法,call 方法將會被自動呼叫。例七 call class...

PHP 過載方法 call

php 過載方法 call call 方法用於監視錯誤的方法呼叫。call method overloading 為了避免當呼叫的方法不存在時產生錯誤,可以使用 call 方法來避免。該方法在呼叫的方法不存在時會自動呼叫,程式仍會繼續執行下去。語法 function call string func...

PHP 過載方法 call

call 方法用於監視錯誤的方法呼叫。為了避免當呼叫的方法不存在時產生錯誤,可以使用 call 方法來避免。該方法在呼叫的方法不存在時會自動呼叫,程式仍會繼續執行下去。語法 function call string function name,array arguments 該方法有兩個引數,第乙個...