• __call()和__callStatic()实例详解


    <?php
    class Demo
    {
        //第一个参数是方法名,第二个参数是方法参数,以数组形式传入
        public function __call($method,$args)
        {
            //遍历参数$args
            $var = '';
            foreach ($args as $value){
                $var .= $value.',';// .= 字符串的连接运算
            }
            return '方法是'.$method.'('.$var.')'.'不存在';
        }
        //当我们调用一个不存在的静态方法时,会自动调用 __callStatic()
        public static function __callStatic($method,$args)
        {
            //遍历参数$args
            $var = '';
            foreach ($args as $value){
                $var .= $value.',';// .= 字符串的连接运算
            }
            return '静态方法是'.$method.'('.$var.')'.'不存在';
        }
    
    }
    //当访问一个不存在的非静态方法时,自动调用类中的魔术方法:__call()
    echo (new Demo)->hello('php','python');
    echo '<hr>';
    //当访问一个不存在的静态方法时,自动调用类中的魔术方法:__callStatic()
    echo Demo::hello(10,20,30);

    转自 https://www.cnblogs.com/php-cn/p/6827086.html

  • 相关阅读:
    14GDB代码反向执行
    AcWing 1144. 连接格点
    AcWing 1143. 联络员
    AcWing 1141 局域网
    AcWing 1148 秘密的牛奶运输
    AcWing 904 虫洞
    AcWing 1146. 新的开始  
    AcWing 1140. 最短网络
    AcWing 346 走廊泼水节
    AcWing 1145. 北极通讯网络
  • 原文地址:https://www.cnblogs.com/brady-wang/p/13369489.html
Copyright © 2020-2023  润新知