php _call and _callStatic

WBOY
WBOYオリジナル
2016-06-13 10:49:38794ブラウズ

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
?>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。