Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zur Verwendung von PHP__call und __callStatic

Ausführliche Erklärung zur Verwendung von PHP__call und __callStatic

小云云
小云云Original
2018-02-03 10:06:251479Durchsuche

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

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;);

Sie möchten meine nicht vorhandene Methode t aufrufen. Die Methode
hat auch einen Parameter
übergeben Array ( [0] => 1 [1] => 2 [2] => 3 )

Sie möchten meine nicht existierende Methode aufrufen, sagen wir Methode
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 a übergeben Parameter
Array ( [0] => d [1] => e [2] => f )

Verwandte Empfehlungen:

PHPs magische Methode __get (), __set(), __call(), __callStatic() und statische Verwendung, detaillierte Erklärung

Detaillierte Erklärung der Verwendung und des Unterschieds zwischen __call und __callStatic in PHP

php __call und __callStatic

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Verwendung von PHP__call und __callStatic. 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