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

 更新时间:2019年11月18日 10:00:32   作者:ztblog  
这篇文章主要介绍了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 "\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面向对象自动加载机制原理与用法分析

    PHP面向对象自动加载机制原理与用法分析

    这篇文章主要介绍了PHP面向对象自动加载机制原理与用法,结合实例形式分析了php面向对象自动加载机制的原理、相关函数及注意事项,需要的朋友可以参考下
    2016-10-10
  • MyEclipse常用配置图文教程

    MyEclipse常用配置图文教程

    本文主要是记录一些有用的设置技巧,并且是图文并茂,像创建项目,创建类,设置工作空间等在这里就不做介绍了,而且之前的文章也有涉猎。
    2014-09-09
  • php在linux环境中如何使用redis详解

    php在linux环境中如何使用redis详解

    这篇文章主要给大家介绍了关于php在linux环境中如何使用redis的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • PHP实现适用于自定义的验证码类

    PHP实现适用于自定义的验证码类

    这篇文章主要为大家详细介绍了PHP实现适用于自定义的验证码类,使用对象编写的验证码类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • php 无限级分类,超级简单的无限级分类,支持输出树状图

    php 无限级分类,超级简单的无限级分类,支持输出树状图

    php 无限级分类,超级简单的无限级分类,支持输出树状图,代码来自网络, 只是自己用了挺长时间特地拿出来分享给大家
    2014-06-06
  • php利用cookie实现自动登录的方法

    php利用cookie实现自动登录的方法

    这篇文章主要介绍了php利用cookie实现自动登录的方法,涉及针对cookie的读取判断及登陆操作,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP模版引擎原理、定义与用法实例

    PHP模版引擎原理、定义与用法实例

    这篇文章主要介绍了PHP模版引擎原理、定义与用法,结合实例形式分析了php模板引擎相关的模板编译、缓存处理、变量替换等操作技巧,需要的朋友可以参考下
    2019-03-03
  • php实现可运算的验证码

    php实现可运算的验证码

    这篇文章主要介绍了php如何实现可运算的验证码,代码很详细,值得大家学,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • Laravel的下载以及使用composer来安装debugbar扩展包图文教程

    Laravel的下载以及使用composer来安装debugbar扩展包图文教程

    这篇文章主要介绍了Laravel的下载以及使用composer来安装debugbar扩展包图文教程,图文讲解的比较清晰,有不太会的同学可以研究下
    2021-01-01
  • php使用curl模拟多线程实现批处理功能示例

    php使用curl模拟多线程实现批处理功能示例

    这篇文章主要介绍了php使用curl模拟多线程实现批处理功能,结合实例形式分析了php使用curl模拟多线程爬取百度与谷歌相关操作方法,需要的朋友可以参考下
    2019-07-07

最新评论