TypechoJoeTheme

Dcr163的博客

统计

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

2015-10-18
/
0 评论
/
1,073 阅读
/
正在检测是否收录...
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的博客

本文链接:

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

评论 (0)

人生倒计时

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

最新回复

  1. https://Sites.google.com/view/vavada-online-casino
    2025-04-12
  2. https://x.com/jeetbuzzcom
    2025-04-07
  3. prozone.cc alternative
    2025-03-19
  4. urgent delivery
    2025-03-16
  5. faster indexing
    2025-03-05

标签云