首页 >后端开发 >php教程 >php _call 和 _callStatic

php _call 和 _callStatic

WBOY
WBOY原创
2016-06-13 10:49:38774浏览

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";
????}

????
/**??自 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