php 静态 成员属性,[已解决]php中静态成员方法和静态成员变量是不是不支持多态?...
各位大神好,我实现了一个日志工具基类,并派生了两个子类,一个是运维日志类,一个是业务日志类,并在基类中设置了一个静态变量希望能用以区分两个子类,但在调用静态方法时,实际上完全不是想象中的情况,代码如下:
// 日志工具基类
class LogTool
{
protected static $type;
public static function debug($msg) {
switch (self::$type) {
case 'biz':
echo '把日志写入数据库表1';
break;
case 'opt':
echo '把日志写入数据库表2';
break;
default:
echo 'error';
}
}
// 其他代码省略
}
// 运维日志类
class OptTool extends LogTool
{
protected static $type = 'opt';
}
// 业务日志类
class BizTool extends LogTool
{
protected static $type = 'biz';
}
// 调用代码
BizTool::debug('王小虎已登录');
代码如上,实际上函数 dosomething 的运行情况是每次都输出 'error',因为在执行静态方法debug时,静态成员 $type 是空值;
但是如果我把 debug 函数在子类中再实现一次,则运行时 $type 变量就是有值的。
可是这样做就完全没意义了,抽象父类出来就是为了减少重复代码的,现在两个子类除了写入日志的表不同,其他完全相同,结果这样的结果弄得我欲哭无泪。
恳请大神们指点一二,万分感谢!
php 静态 成员属性,[已解决]php中静态成员方法和静态成员变量是不是不支持多态?...相关推荐
- [已解决]Keil 中出现No Browse Information available in ‘工程文件‘的
在查看程序时想要Go to Definition of 'xxx' 但是会出现如图所示的提醒: 解决方法: 点击魔术棒,再在Output的选项中勾选Browse Information,如此就可以正 ...
- linux少了 dev dm设备,已解决: Linux中安装了powerpath之后为什么还会有dm设备? - Dell Community...
在RHEL6.3中安装了powerpath5.7之后,OS上已经正确生成了emcpower磁盘设备(使用CX4-240存储),并配置到LVM中使用.但是今天发现,使用iostat命令时,可以看到dm设 ...
- (已解决torchvision中CIFAR10下载速度慢)如何下载以及使用torchvision导入
背景 train_set = torchvision.datasets.CIFAR10(root='./data', train=True,download=True, transform=trans ...
- (20200208已解决)PyCharm中Tab键无效
问题描述 新装的PyCharm,Tab可以缩进一行,但是当选择多行时,Tab键无效. 问题解决 因为安装时候选择了安装Vim并启用(就是安装界面推荐的第一项). File–Settings–Plugi ...
- {已解决}IDEA中的lombok插件搜索不到的问题
首先点击 点击完毕后,关闭IDEA重启,然后再次搜索Lombok,就能找得到啦!! 如果不可以的话,还可以通过IDEA官方插件网站搜索Lombok插件并下载哦. 下载后进行本地的选中安装即可.
- 【已解决】MATLAB未定义函数或变量 ‘wavread‘,以及audioread,audiowrite,wavwrite
报错 MATLAB未定义函数或变量 'wavread'. 原因 wavread在当前Matlab版本中废弃,需要改成audioread,同理wavwrite也需要改为audiowrite. 注意 在更 ...
- php成员属性的声明方式,PHP中如何定义类及其成员属性与操作_PHP教程
类的概念:类是具有相同属性和操作的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和操作两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...
- 已解决‘pyhton‘不是内部或外部命令,也不是可运行的程序或批处理文件。
已解决(安装python解释器配置环境变量后,在cmd内运行报错问题)'pyhton'不是内部或外部命令,也不是可运行的程序或批处理文件. 文章目录 报错代码 报错原因 解决方法 千人全栈VIP答疑群 ...
- C/C++中静态变量
C/C++中的静态变量 1. 静态全局变量 2.静态局部变量 3. 静态函数 4.类内静态成员变量 5. 类内静态局部变量 6.类内静态函数 C语言中与"静态"相关的词包括,静态全 ...
最新文章
- LCA(树上倍增 || rmqlca||)
- git在已忽略文件夹中不忽略指定文件
- springboot整合rabbitmq(搭建)
- FutureTask使用
- JavaScript实现页面滚动到div区域div以动画方式出现
- 走近分形与混沌(part4)--牛顿与混沌
- linux下socket连接下的心跳机制
- 《算法:C语言实现》——连通性
- R语言︱非结构化数据处理神器——rlist包
- 小程序的全栈开发新时代
- Android Hessian 通信
- 时序轮转的意思_《九州仙魔志》-烛龙:凡人的昼夜轮转,都在它眼睛开合之间...
- MATLAB求二阶隐函数导数,matlab隐函数求导
- 推荐2021年最受欢迎的15款Vue后台管理模板
- win10 cuda13 pytorch pycharm
- Balsamiq-Mockups-Introduction.html
- OSChina 周五乱弹 ——论HR的日常心塞
- 多线程 MODEN 串口编程
- Win7如何开启Aero特效?
- CpG ODN——艾美捷ODN 1826 (TLRGRADE)说明书
热门文章
- 触发器_触发器第三弹
- 导入数据_导入外部数据的三个技巧
- 华为云NP考试题库_阿里云ACP大数据及云计算经验感悟
- Linux开机启动过程(8):初期中断(缺页中断)和异常处理
- Just For Fun-用java编个线性回归(一次函数拟合)的图形界面
- 我的世界服务器自定义怪物怎么用,我的世界怪物属性自定义教程 怪物属性代码一览...
- java压缩源代码_【免费毕设】JAVA文件压缩与解压缩实践(源代码+论文)
- python读取数据库数据、并保存为docx_Python - 爬取博客园某一目录下的随笔 - 保存为docx...
- python使用turtle步骤_Python+turtle交互式绘图:可以用鼠标拖动的小海龟
- Xshell如何操作linux