Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie __call() und __callStatic() in PHP
In diesem Artikel erfahren Sie hauptsächlich, wie Sie __call() und __callStatic() in PHP verwenden. Ich hoffe, er kann Ihnen helfen. Ich werde nicht zu viel über die Verwendung dieser beiden Methoden erklären. Durch den Beispielcode und die Ergebnisse kann jeder die Funktionen der beiden besser verstehen.
1.__call()-Methode. Wenn Sie eine Methode aufrufen, die nicht in der Klasse deklariert ist, können Sie die Methode __call() aufrufen, anstatt eine Methode zu deklarieren. Akzeptiert Methodennamen und Array als Parameter.
Codebeispiel:
<?php class test{ //魔术方法__call /* $method 获得方法名 $arg 获得方法的参数集合 */ public function __call($method,$arg){ echo '你想调用我不存在的方法',$method,'方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; } $list=new test(); $list->say(1,2,3); ?>
Ausführungsergebnis:
Sie möchten meine nicht existierende Methode say method
aufrufen Außerdem wurde ein Parameter
Array ( [0] => 1 [1] => 2 [2] => 3 )
2 übergeben .__callStatic()-Methode. Diese Methode gibt es seit PHP5.3 und wird beim Erstellen einer statischen Methode verwendet, um eine Methode aufzurufen, die in der Klasse nicht vorhanden ist. Identisch mit der Methode __call(), akzeptiert den Methodennamen und das Array als Parameter.
Codebeispiel:
<?php class test{ //魔术方法__callStatic /* $method 获得方法名 $arg 获得方法的参数集合 */ //魔术方法__callStatic public static function __callStatic($method,$arg){ echo '你想调用我不存在的',$method,'静态方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; } } test::cry('痛哭','鬼哭','号哭'); ?>
Ausführungsergebnis:
Sie möchten meine nicht vorhandene Cry-Static-Methode aufrufen
Sie haben auch bestanden ein Parameter
Array ([0] => Cry[1] => Ghost Cry[2] => Cry)
Verwandte Empfehlungen :
So verwenden Sie die __call()-Methode in PHP und Überladungsbeispielanalyse
PHP Magic Function __call() Verwendungsbeispielanalyse_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonSo verwenden Sie __call() und __callStatic() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!