TypechoJoeTheme

Dcr163的博客

统计

PHP面向对象__call,__callstatic方法及应用笔记

2015-10-18
/
0 评论
/
1,013 阅读
/
正在检测是否收录...
10/18

/*
__call
__callstatic
 */

class Human {
    private function eat(){
        echo '快吃饭了!!<br />';
    }
    protected function hello(){
        echo 'hello<br />';
    }
    public function say(){
        echo '早上好!!<br />';
    }
    public function __call($a,$b){
        echo '你在调用一个不存在或无权访问的方法',$a;
        echo '而且还传了传了参';
        var_dump($b);
    }
    static public function __callstatic($a,$b){
        echo '你在调用一个不存在或无权访问的静态方法',$a;
        echo '而且还传了传了参';
        var_dump('参数为:',$b);
    }
    
}
$jun=new Human();
$jun->hello('test',12111,'__call魔术方法,在protected里能否调用');
$jun->say();
$jun->a(11,1.111);
$jun->eat('测试__call在','private有权限调用没');
/*
__call 是调用不可见/不存在/无权限 的方法时,自动调用
$jun->a()--->不存在/无权限--->__call(){}魔术方法就自动调用了
*/
Human::ary(111,11);
/*
 __callstatic 是调用不可见/不存在/无权限 的静态方法时,自动调用
Human::ary(111,11)--->不存在/无权限--->__callstatic(){}魔术方法就自动调用了
*/
echo '<hr />';
class action {
    public function hn(){
        echo 'hn天气';
    }
    public function __call($method,$bb){
        echo $method,'天气';
    }
}
$ac=new action();
$name=$_GET['name'];
if ($name) {
    $ac->$name();
}



 
朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

http://dcr163.cn/35.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. slot mpo terbaru
    2025-02-08
  2. Sherry Stockdill
    2025-01-28
  3. slot demo
    2025-01-13
  4. 陌天
    2025-01-09
  5. Kerrie Bostick
    2024-12-28

标签云