Heim  >  Artikel  >  Backend-Entwicklung  >  php __call und __callStatic

php __call und __callStatic

巴扎黑
巴扎黑Original
2016-11-24 13:38:091143Durchsuche

PHP5-Objekte verfügen über eine neue spezielle Methode __call(), die zur Überwachung anderer Methoden in einem Objekt verwendet wird. Wenn Sie versuchen, eine Methode aufzurufen, die für das Objekt nicht vorhanden ist, wird die Methode __call automatisch aufgerufen.

__call() wird ausgelöst, wenn unzugängliche Methoden in einem Objektkontext aufgerufen werden.

__callStatic() wird ausgelöst, wenn unzugängliche Methoden in einem statischen Kontext aufgerufen werden.

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn