ホームページ  >  記事  >  バックエンド開発  >  php _call と _callStatic

php _call と _callStatic

WBOY
WBOYオリジナル
2016-06-13 13:11:02835ブラウズ

php __call と __callStatic

PHP5? オブジェクトには、オブジェクト内の他のメソッドを監視するために使用される新しい特別なメソッド?__call() があります。オブジェクトに存在しないメソッドを呼び出そうとすると、__call? メソッドが自動的に呼び出されます。

?

__call()? は、オブジェクト コンテキストでアクセスできないメソッドを呼び出すときにトリガーされます。

__callStatic()? は、静的コンテキストでアクセスできないメソッドを呼び出すときにトリガーされます。

?

class?MethodTest?{
????public?function?
__call($name,?$arguments)?{
???????
//?注:?$name の値?大文字と小文字が区別されます。
??????
echo?"呼び出し?オブジェクト?メソッド?'$name'?"
???????????????
.?内破(',?',?$arguments ).?"n";
????}

????
/**??PHP?5.3.0以降??* /
????
public?static?function?__callStatic($name,? $arguments)?{
???????
//?注:?$name は?case?
??????
echo?"?static?method を呼び出していますか?'$name '?"
????????????
.?内破( ',?' ,?$arguments).?"n";
??}
}

$obj?=?new?MethodTest;
$obj ->runTest('in?object?context') ;

MethodTest::runTest('in?static?context'); ??//?As?of?PHP?5.3.0
?>

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