欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中__call与__callStatic两个魔术方法的使用详解

程序员文章站 2022-04-14 23:47:30
...
这篇文章主要介绍了PHP魔术方法之__call与__callStatic方法,需要的朋友可以参考下

核心代码


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

 }

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

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


$ha = new Human();

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

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

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

你想调用我不存在的方法t方法
还传了一个参数

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

你想调用我不存在的方法say方法
还传了一个参数

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

你想调用我不存在的run静态方法
还传了一个参数

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

以上就是php中__call与__callStatic两个魔术方法的使用详解的详细内容,更多请关注其它相关文章!