php 使用 __call实现重载功能示例
作者:ztblog 发布时间:2023-07-13 20:10:28
标签: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程序设计有所帮助。
来源:https://blog.csdn.net/ztblog/article/details/80170792


猜你喜欢
- 本文实例讲述了MySQL查询条件常见用法。分享给大家供大家参考,具体如下:条件使用where子句对表中的数据筛选,结果为true的行会出现在
- 1. 问题homebrew用以下命令安装pythonbrew install python3然后用以下命令查看python安装版本pytho
- 简介观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个
- 需求:对一个配置文件进行处理,拿出可用的字符来拼接,下面是原始文本,我们要得到这样的结果,redis -h 127.0.0.1 -p 637
- python封装简介1.效果图:对比一:对比二:2.学习来源代码:# 封装是面向对象的三大特性之一# 封装指的是隐藏对象中一些不希望被外部所
- 目录1. 字符串的翻转2. 判断字符串是不是回文串3. 单词大小写4. 字符串的拆分5. 字符串的合并6. 将元素进行重复7. 列表的拓展8
- 每次在"万达影城"网上购票总会用到左上角选择城市的功能。如下:今天就在ASP.NET MVC中实现一下。我想最好的方式应
- 在进行WEB标准网页设计时,必不可少的是写入大量的CSS语法,一般情况下我们可以通过Dreamweaver软件的“CSS样式”面板自动生成相
- 最近关于浏览器的最重要的事情就是IE的极光0day漏洞了,这个漏洞导致包括Google在内的多家美国公司受到黑客的攻击,当然也有很多网站被黑
- 今天继续给大家介绍Python相关知识,本文主要内容是Python asyncio异步编程简单实现。一、asyncio事件循环简介async
- 本文实例讲述了Python实现的删除重复文件或图片功能。分享给大家供大家参考,具体如下:通过python爬虫或其他方式保存的图片文件通常包含
- 一、创建mysql数据库1.创建数据库语法--创建名称为“testdb”数据库,并设定编码集为utf8CREATE DATABASE IF
- 在Python中,json指的是符合json语法格式的字符串,可以单行或者多行。它可以方便的在使用在多种语言中,这里介绍的是在python中
- ASP(Active Server Page)是Microsoft公司推出的基于PWS(Personal We
- 虽然在win2003配置PHP有点非主流,但你还是要会怎么弄。你也可以将本文的虚拟机看成是服务器,宿主机看成是客户端。不像Linux系统,由
- 代码如下:--创建测试表 DECLARE @Users TABLE ( ID INT IDENTITY(1,1), UserIn
- 本文实例讲述了Python实现的各种常见分布算法。分享给大家供大家参考,具体如下:#-*- encoding:utf-8 -*-import
- 在前几章节中,我们已经学会了如果在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。本章节我们将向大家介绍
- 【OpenCV】⚠️高手勿入!⚠️ 半小时学会基本操作 ⚠️ 直方图概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
- 1、python装饰器刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜