Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der Verwendung der beiden magischen Methoden __call und __callStatic in PHP

Detaillierte Erklärung der Verwendung der beiden magischen Methoden __call und __callStatic in PHP

黄舟
黄舟Original
2017-07-24 14:48:311183Durchsuche

In diesem Artikel werden hauptsächlich die Methoden __call und __callStatic der magischen PHP-Methoden vorgestellt. Freunde in Not können sich auf den

Kerncode


//魔术方法__call 
/* 
$method 获得方法名 
$arg 获得方法的参数集合 
*/
class Human {
 private function t(){

 }

 public function __call($method,$arg){
  echo &#39;你想调用我不存在的方法&#39;,$method,&#39;方法<br/>&#39;; 
  echo &#39;还传了一个参数<br/>&#39;; 
  echo print_r($arg),&#39;<br/>&#39;; 
 }

 public static function __callStatic($method,$arg){
  echo &#39;你想调用我不存在的&#39;,$method,&#39;静态方法<br/>&#39;; 
  echo &#39;还传了一个参数<br/>&#39;; 
  echo print_r($arg),&#39;<br/>&#39;; 
 }
}


$ha = new Human();

//example1
$ha->t(1,2,3);

echo &#39;<br>&#39;;
//example2
$ha->say(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;);

echo &#39;<br>&#39;;
//example3
$ha::run(&#39;d&#39;,&#39;e&#39;,&#39;f&#39;);

beziehen Sie möchten meine nicht existierende Methode t method aufrufen
Sie haben auch einen Parameter übergeben

Array ( [0] => 1 [1] => 2 [2] => 3 )

Sie möchten meine nicht existierende Methode „sage method“ aufrufen
Sie haben auch einen Parameter übergeben

Array ( [0] => a [1] => b [2] => c )

Sie möchten meine nicht vorhandene statische Ausführungsmethode aufrufen
Sie haben auch einen Parameter übergeben

Array ( [0] => d [1] => e [2] => f )

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Verwendung der beiden magischen Methoden __call und __callStatic in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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