Home >Backend Development >PHP Tutorial >How to use PHP magic methods __call and __callStatic

How to use PHP magic methods __call and __callStatic

墨辰丷
墨辰丷Original
2018-05-19 09:50:081733browse

This article mainly introduces how to use PHP magic methods __call and __callStatic. Friends in need can refer to

Core code


//魔术方法__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;);


You want to call my non-existent method t method
Also passed a parameter
Array ( [0] => 1 [1] => 2 [2] => 3)

You want to call my non-existent method say method
Also passed a parameter
Array ([0] => a [1] => b [2 ] => c )

You want to call my non-existent run static method
Also passed a parameter
Array ( [0] => d [1] => e [ 2] => f )

Related recommendations:

Commonly used magic methods in php

# #[php classes and objects]Magic methods

Performance exploration of PHP commonly used Magic methods

The above is the detailed content of How to use PHP magic methods __call and __callStatic. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn