>  기사  >  백엔드 개발  >  PHP __call 및 __callStatic

PHP __call 및 __callStatic

巴扎黑
巴扎黑원래의
2016-11-24 13:38:091089검색

PHP5 객체에는 객체의 다른 메소드를 모니터링하는 데 사용되는 새로운 특수 메소드 __call()이 있습니다. 객체에 존재하지 않는 메서드를 호출하려고 하면 __call 메서드가 자동으로 호출됩니다.

__call()은 객체 컨텍스트에서 액세스할 수 없는 메서드를 호출할 때 트리거됩니다.

__callStatic()은 정적 컨텍스트에서 액세스할 수 없는 메서드를 호출할 때 트리거됩니다.

<?php
class MethodTest {
    public function __call($name, $arguments) {
        // Note: value of $name is case sensitive.
        echo "Calling object method &#39;$name&#39; "
             . implode(&#39;, &#39;, $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 &#39;$name&#39; "
             . implode(&#39;, &#39;, $arguments). "\n";
    }
}
$obj = new MethodTest;
$obj->runTest(&#39;in object context&#39;);
MethodTest::runTest(&#39;in static context&#39;);  // As of PHP 5.3.0
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.