首页 > 后端开发 > php教程 > PHP魔术方法之__call与__callStatic方法

PHP魔术方法之__call与__callStatic方法

WBOY
发布: 2016-08-08 09:19:13
原创
965 人浏览过
    <?php class aaa{  
      
    private function t(){  
      }  
      
    //魔术方法__call  
    /* 
    $method 获得方法名 
    $arg 获得方法的参数集合 
    */  
    public function __call($method,$arg){  
        echo &#39;不存在的方法&#39;,$method,&#39;方法<br/>';  
        echo '不存在方法中有参数传入<br>';  
        echo print_r($arg),'<br>';  
      }  
    //魔术方法__callStatic
    public static function __callStatic($method,$arg){  
      
        echo '不存在的',$method,'静态方法<br>';  
        echo '还传了一个参数<br>';  
        echo print_r($arg),'<br>';  
      }  
      
    }  
      
    $a=new aaa(); 
    $a->xx(1,2,3);  
    /* 
    调用一个未定义的方法 
    Fatal error: Call to undefined method aaa::xx() in D:\wamp\www\php\aaa.php on line 8 
    */  
      
    $li->t('a','b');  
    /*  
    __call是调用不可见(不存在或无权限)的方法时,自动调用  
    $a->xx(1,2,3);-----没有xx()方法----> __call('xx',array(1,2,3))运行  
    */   
      
    aaa::yy('a','b','c'); 
    /*  
    __callStatic 是调用不可见的静态方法时,自动调用.  
    aaa::yy('a','b','c')----没有yy方法---> aaa::__callStatic('yy',array('a','b','c'));  
    */   
      
    ?>  
登录后复制

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PHP魔术方法之__call与__callStatic方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板