• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php 使用 __call实现重载功能示例

    本文实例讲述了php 使用 __call实现重载功能。分享给大家供大家参考,具体如下:

    ?php
    /**
     * Created by PhpStorm.
     * User: funco
     * Date: 17-6-9
     * Time: 下午1:39
     */
    class MulStat
    {
      // showClass 可以接受0个参数
      private function showClass() {
        echo "this is class ".__CLASS__;
      }
    
      // showString 可以接受一个参数
      private function showString($str) {
        echo "string is ".$str;
      }
    
      // __call方法 可以获取实例化对象调用的成员函数名和向该被调函数传递的参数个数
      public function __call($name, $args) {
        // 先判断要调用的函数名$name
        if($name == "showInfo"){
          // 然后可以根据参数($args)数量判断调用哪个成员函数
          switch(count($args)) {           // count可以计算数组元素个数
            case 0:
              $this->showClass();break;
            case 1:
              $this->showString($args[0]);break;
          }// switch
        }// if
      }
    }
    
    //实例化MulStat类
    $mulStat = new MulStat();
    
    echo "\$mulStat->showInfo(\"funco 小风\"):\n";
    $mulStat->showInfo("funco 小风");
    
    // 两次换行 便于观察结果
    echo "\n\n";
    
    echo "\$mulStat->showInfo():\n";
    $mulStat->showInfo();
    
    

    运行结果:

    $mulStat->showInfo("funco 小风"):
    string is funco 小风

    $mulStat->showInfo():
    this is class MulStat

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • 解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
    • PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
    • PHP面相对象中的重载与重写
    • PHP中子类重载父类的方法【parent::方法名】
    • PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
    • php函数重载的替代方法--伪重载详解
    • php继承中方法重载(覆盖)的应用场合
    • PHP使用方法重载实现动态创建属性的get和set方法
    • PHP利用func_get_args和func_num_args函数实现函数重载实例
    • php面向对象全攻略 (八)重载新的方法
    • php面向对象的方法重载两种版本比较
    • PHP重载基础知识回顾
    上一篇:PHP中通过getopt解析GNU C风格命令行选项
    下一篇:php传值和传引用的区别点总结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php 使用 __call实现重载功能示例 php,使用,call,实现,重载,