PHP5 객체에는 객체의 다른 메소드를 모니터링하는 데 사용되는 새로운 특수 메소드 __call()이 있습니다. 객체에 존재하지 않는 메서드를 호출하려고 하면 __call 메서드가 자동으로 호출됩니다.
__call()은 객체 컨텍스트에서 액세스할 수 없는 메서드를 호출할 때 트리거됩니다.
__callStatic()은 정적 컨텍스트에서 액세스할 수 없는 메서드를 호출할 때 트리거됩니다.
<?php 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 ?>