加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 使用call实现重载功能例子

发布时间:2022-06-24 21:01:59 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php 使用 __call实现重载功能,结合实例形式分析了PHP使用__call实现重载的相关操作技巧,需要的朋友可以参考下。 本文实例讲述了php 使用 __call实现重载功能,分享给大家供大家参考,具体如下: ?php /** * Created by PhpStorm. * User
  这篇文章主要介绍了php 使用 __call实现重载功能,结合实例形式分析了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 "nn";
  
  echo "$mulStat->showInfo():n";
  $mulStat->showInfo();
  运行结果:
 
  $mulStat->showInfo("funco 小风"):
 
  string is funco 小风
 
  $mulStat->showInfo():
 
  this is class MulStat。
 
 

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!