php __call and __callStatic
PHP5?的對象新增了一個專用方法?__call(),這個方法用來監視一個對象中的其它方法。如果你試著調用一個對象中不存在的方法,__call?方法將會被自動調用。
?
__call()?is triggered when invoking inaccessible methods in an object context.
__callStatic()?is triggered when invoking inaccessible methods in a static context.
?
class?MethodTest?{
????public?function?__call($name,?$arguments)?{
????????//?Note:?value?of?$name?is?case?sensitive.
????????echo?"Calling?object?method?'$name'?"
?????????????.?implode(',?',?$arguments).?"\n";
????}
????/**??As?of?PHP?5.3.0??*/
????public?static?function?__callStatic($name,?$arguments)?{
????????//?Note:?value?of?$name?is?case?sensitive.
????????echo?"Calling?static?method?'$name'?"
?????????????.?implode(',?',?$arguments).?"\n";
????}
}
$obj?=?new?MethodTest;
$obj->runTest('in?object?context');
MethodTest::runTest('in?static?context');??//?As?of?PHP?5.3.0
?>