PHP魔术方法之__call与__callStatic使用方法

yipeiwu_com6年前PHP代码库

核心代码

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

相关文章

Thinkphp结合ajaxFileUpload实现异步图片传输示例

前言 在做这个项目之前,对图片上传处理一直都是直接用表单提交的方式进行文件传输,这次因为需求,需要实现对图片进行异步传输,虽然实现并不难,毕竟现在插件太多了,但还是浪费了我很长的调试时间...

php中0,null,empty,空,false,字符串关系的详细介绍

在一个项目中遇到了一个奇怪的问题,耗费了我不少时间都没有解决,最终调试发现是判断的问题—-关于0和 ‘ ‘ (空单引号,为好看清我加了个空格)的判断,我发现 0==” 居然成立,郁闷的同...

php function用法如何递归及return和echo区别

复制代码 代码如下: <?php //模拟sql数据 $array = array(0=>'apple',1=>'banana',2=>'cat',3=>'...

PHP简单字符串过滤方法示例

PHP简单字符串过滤方法示例

本文实例讲述了PHP简单字符串过滤方法。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="zh-cn"> <he...

PHP内置的Math函数效率测试

本文实例分析了PHP内置的Math函数效率问题。分享给大家供大家参考。具体分析如下: 如题所示,对于没有做过大规模运算的朋友来说,可能还不知道,PHP的Math函数运算原来是如此之慢的,...