这篇文章主要介绍了关于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();

相关推荐:

Php刷新重载id,php 使用 __call重载相关推荐

  1. python 重载id函数_Python函数重载实例

    函数重载是Python中的稀罕东西.注意观察@functools.singledispatch 的使用: 下面贴出functools模块函数的使用示例,及简短描述.来自如下文档. Python » 3 ...

  2. java中函数的重载_Java中函数的重载

    函数的重载 1.同一个类 2.同名函数 3.参数个数不同或者参数类型不同 4.java是严谨性语言,如果函数出现的调用的不确定性,会编译失败. public static int add(int a, ...

  3. C++——运算符的重载---以成员函数方式重载---以友元函数方式重载

    一.运算符的重载 1.运算符的重载 允许把标准运算符(如+ - * /等运算符)应用于自定义数据类型的对象,可以提高程序的可读性,运算符的重载本质上还是函数重载.运算符仅仅是语法上的方便,它是另一种函 ...

  4. java 继承 重载_java – 使用继承的重载方法

    My question is, why isn't ClassB's method being used? 不对.使用的方法是ClassB的方法,它从ClassA继承. 我认为这里的混乱背后的主要原因 ...

  5. php是否直接支持函数的重载,php函数重载的替代方法--伪重载详解

    对于弱类型语言来说,PHP函数重载,并不像一般的OOP那样.而弱类型本来就不区分,所以无法通过这些来实现.但是,可以通过下面的方法来实现简单的伪重载吧. 函数重载的替代方法-伪重载,下面看一个具体的实 ...

  6. scala 方法重载_Scala中的方法重载

    scala 方法重载 Scala方法重载 (Scala method overloading) Method overloading is a method that is redefined in ...

  7. C++之操作符重载探究(七):==运算符重载

    前文:C++之操作符重载探究(六):重载函数调用符( ) == 运算符重载   在很多情况下,我们需要判断两个对象是否相等,需要对==运算符进行重载. 例1: 附例1代码: //小问学编程 #incl ...

  8. php 中c函数重载,php函数重载的替代方法--伪重载详解

    php //函数重载的替代方法-伪重载 // //确实,在PHP中没有函数重载这个概念,让很多时候我们无法进行一些处理,甚至有时候不得不在函数后面定义好N个参数 //在看到了func_get_arg, ...

  9. 拷贝构造函数、析构函数、赋值操作符重载、取地址操作符重载和const修饰的取地址操作符重载...

    2019独角兽企业重金招聘Python工程师标准>>> 在我们学习C++的过程中,我们难免会遇到类,在类中有6个默认的函数,它们分别为:构造函数.拷贝构造函数.析构函数.赋值操作符重 ...

最新文章

  1. 神策合肥研发中心携手安徽开发者社区,深入交流共促行业发展
  2. 5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出
  3. 【Linux】一步一步学Linux——sshd命令(177)
  4. 使用electron-vue创建项目卡顿的问题
  5. 跨站式SQL脚本注入的技巧介绍
  6. 网络编程-Socket介绍
  7. python 移除列表中的值 list index out of range_重拾Python(二)之列表
  8. 软件工程第一次作业(第一次思考这些问题)
  9. Dapper学习 - Dapper.Rainbow(三) - Read
  10. 数据库实验报告-实验一:SQL语言
  11. 局域网***原理与防御(网络执法官类)
  12. 如何做杜邦线、XH线 制作方法
  13. PMP项目进度网络图详解——第1篇:甘特图、PERT
  14. 电脑售后服务人员无奈的一天-爆笑
  15. 港股中的老千,千万别碰!
  16. checkbox选中时如何改变默认样式
  17. onfouce事件与onblur事件
  18. 微生物群落功能预测工具
  19. c语言编程560分钟,c语言把560分钟换成小时和分钟表示输出出来
  20. 从CDN到边缘计算,近水楼台是否先得月?

热门文章

  1. Hadoop的Python框架指南
  2. Memcached的安装与使用
  3. 浅谈JavaScript中forEach与each
  4. xss challenge 解题思路(8-18)
  5. MS SQL 2008认证考试大纲
  6. 一键搞定数码照片印前特效-【用可牛影像】
  7. 还在用ViT的16x16 Patch分割方法吗?中科院自动化所提出Deformable Patch-based方法,涨点显著!...
  8. Hinton向AAAI提交论文竟收到最差评价!深度学习三教父再押宝,AI或突破常识瓶颈...
  9. Nature调查再聚焦读博压力:超1/3博士生焦虑抑郁,大学有没有能哭的地方?
  10. 华科新开源文本识别算法:ASTER与DeepLesion数据集百度云下载