PHP Strict standards:Declaration of ... should be compatible with that of...

银河麒麟server v10sp1编译安装php8.1.6 银河麒麟 server v10 sp1 编译安装php 8.1.6的过程和解决错误的过程。 阅读详情
今天把原来一份很老的PHP代码导入到了PaaS上,出现了许多Strict standards:Declaration of ... should be compatible with that of...这样的错误,字面意思好像是说函数不匹配,看了下出错的函数,都是子类重写的基类函数。
上网搜索了一下,发现许多帖子基本都抄的一样,说什么这是由于 php5.3版本后,要求继承类必须在父类之后定义,如果父类定义在前,继承类在后,就不会出现这个错误。尤其是bugs.php.net/bug.php?id=46851上面还煞有介事的给出了正反例:
<?php 
// this code does trigger a strict message 
error_reporting( E_ALL | E_STRICT ); 
class cc extends c { function test() { return null; } } 
class c { function test( $a ) { return 1; } } 
$cc = new cc(); 
?> 
<?php 
// this code does NOT trigger a strict message 
error_reporting( E_ALL | E_STRICT ); 
class c { function test( $a ) { return 1; } }
class cc extends c { function test() { return null; } } 
$cc = new cc(); 
?> 

并且讨论了出错的情况多半是由于用_autoload()对类进行自动的include,导致基类的定义在后面,子类定义在前面。

我看了下自己的代码,虽然确实也用到了autoload,但是都是显式的先导入了几个基类,并不存在这样的情况,而且将上面的正反例子试了一下,都会出现E_STRICT的警告。



其实如果子类重写方法的参数和基类不一样,只要给参数个默认值,使得编译器认为参数可以为空,保持重写方法与基类方法的函数签名相同就可以了。



经常用JAVA的同学肯定知道,在JAVA或者C++中,重写方法的函数签名本应该就和基类函数是一致的,我认为这也是符合自然规律的,因为override本来就是覆盖的意思嘛,既然覆盖了,那么就应该和原函数一致,不然怎么能“盖”的住呢~并且方法的重写多用在重写虚函数或者更明白的说就是重写接口的函数,如果重写的时候函数签名都不一致了,还要接口干嘛呢。。。



所以PHP的新版本中,我觉得定义这个E_STRICT的警告错误是很有用处的,要提醒程序员自己的重写方法到底对不对。



最后还是鄙视一下上面那些抄来抄去的帖子,如果某个语言连基类和子类定义的顺序都不能打乱,说明这个编译器非常有问题了,显然是bug。。。


S32K144后门密钥实战:如何用JLINK脚本绕过复位陷阱更新加密固件 本文详细介绍了在S32K144微控制器上,如何利用JLINK脚本绕过调试器默认复位陷阱,实现通过后门密钥安全更新加密固件的实战方案。针对汽车电子现场维护中常见的“解锁-复位-锁定”循环问题,文章提供了完整的JLinkScript定制方法、批处理工具及故障排除指南,帮助工程师高效完成固件升级。 阅读详情

相关推荐

GPlates——【将化石点标记在古地理图上时,改变标记点的大小和形状】

GPlates在还原古地理图和计算古坐标点上功能十分卓越,最近在使用它标注某个类群的化石坐标点时,这些点在地图上显示得非常小,让人不易察觉。作为一款优秀的GUI应用,应该具备更改标记点外观的功能,然而在查阅了官方手册,pygplates API后,表明不管是桌面应用还是python接口,都无法简便地修改标记点的外观。在之前GPlates学习和最近的pygplates学习中,印象里有可以改变标记点外观的东西,叫做。当然,这又诱使我翻了一遍资料,然而又没有直接关于symbol的资料。

whitedrogen的博客 2539

php 重写方法should be compatible with,php方法重寫:Declaration of should be compatible with that...

// this code does trigger a strict messageerror_reporting( E_ALL | E_STRICT );class cc extends c { function test() { return null; } }class c { function test( $a ) { return 1; } }$cc = new cc();?>&l...

weixin_36446697的博客 534

从RJPG到温度地图:基于大疆TSDK的热红外数据精准处理与Pix4D拼接实战

本文详细解析了如何利用大疆TSDK将无人机拍摄的热红外RJPG图像精准转换为带有地理坐标的温度TIFF文件,并完成Pix4D拼接生成正射温度地图的全流程。文章重点阐述了辐射定标的原理、TSDK关键参数(测量距离、湿度、发射率、反射温度)的设置与微调方法,以及Pix4D处理中的常见报错解决方案,旨在帮助用户实现从原始数据到可分析温度地图的精准处理。

docker7nomad的博客 464

PHP报错:Declaration of ... should be compatible with ... 的解决方法

​ 背景情况 今天把本地环境的PHP版本升级到了PHP7,之前一直用的是5.5,升级之后发现报了一个警告错误:Warning: Declaration of (类方法1) should be compatible with (类方法2); 字面上理解是:类方法1的声明应该符合类方法2,搜索引擎貌似给了个专业的说法:“方法重写,参数不同”。 事件还原 之前做WordPress主题时为了显示导航菜单的图像描述,从wordpress大学趴了一段代码,大概就是自定义wp_nav_menu()函数的Walker类来输

xcrap的博客 8952

设计的多实例引用(Multiple Instances of a Design Reference)

一、什么是“设计的多实例引用” 在层次化的设计中,我们经常会将一个module例化多份,这些例化的instance就是设计的module的多实例引用。 二、为什么要解决多实例引用 三、怎么解决多实例引用 ...

kevindas的博客 3719

QT项目实战:如何在正点原子Linux开发板上集成CVR-100UC身份证阅读器(附完整代码)

本文详细介绍了在正点原子Linux开发板上集成CVR-100UC身份证阅读器的完整实战流程。内容涵盖驱动适配、库文件部署、QT项目框架搭建、核心功能封装以及界面集成,并提供了完整的代码示例,帮助开发者快速实现嵌入式环境下的身份证信息读取功能。

yyy34的博客 257

PHP Strict standards:Declaration of … should be compatible with that of…

今天把原来一份很老的PHP代码导入到了PaaS上,出现了许多Strict standards:Declaration of … should be compatible with that of…这样的错误,字面意思好像是说函数不匹配,看了下出错的函数,都是子类重写的基类函数。       上网搜索了一下,发现许多帖子基本都抄的一样,说什么这是由于 php5.3版本后,要求继承类必须

Sparkjin的专栏 1228

用一台笔记本跑起 SAP HANA:从 express edition 的定位,到本地硬件门槛与安装实操

SAP HANA是面向个人开发者、初创团队与教学科研场景的精简发行版,保留了in-memory列存引擎、SQLScriptAFLGraphSpatial等核心能力,可免费用于开发与一定规模的生产用途(上限为 32 GB RAM)。它最大的特征,是能在资源受限的laptop或上快速落地,让你在本地完成从建模、开发到测试的完整闭环。SAP在交付形态上,提供了多种安装包:预配置的VM OVA、面向Linux的二进制安装包,以及历史上出现过的容器化方案;你可以按现有设备与熟悉的运维方式择优选择。官方文档把VM。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 533

PHP Strict standards:Declaration of … should be compatible with that of…(转)

今天把原来一份很老的PHP代码导入到了PaaS上,出现了许多Strict standards:Declaration of … should be compatible with that of…这样的错误,字面意思好像是说函数不匹配,看了下出错的函数,都是子类重写的基类函数。上网搜索了一下,发现许多帖子基本都抄的一样,说什么这是由于 php5.3版本后,要求继承类必须在父类之后定义,如果父类定义...

weixin_33845477的博客 101

《UDS协议从入门到精通》系列——到底什么是DTC?

到底什么是DTC?看这里,深度图解DTC格式,详述DTC状态位、快照信息和扩展信息!!

车载系统攻城狮 1万+

基于MATLAB的语音声强度和响度分析及处理

综上所述,本文介绍了如何使用MATLAB进行语音信号的声强度和响度分析,并提供了相应的源代码。通过这些工具和方法,可以更好地理解和处理语音信号的声强度和响度特性,为语音信号处理和音频应用提供支持。声强度(Intensity)和响度(Loudness)是语音信号中常用的两个重要参数,用于描述声音的强度和感知响度。响度均衡化:可以通过对语音信号施加不同的加权滤波器,调整信号的频谱分布,从而改变声音的响度。除了分析语音信号的声强度和响度,MATLAB还提供了丰富的工具和函数,用于处理语音信号的声强度和响度。

COWizard的博客 617

php 错误 Strict Standards: PHP Strict Standards: Declaration of .... should be compatible with that o...

错误原因:这是由于 php 5.3版本后。要求继承类必须在父类之后定义。否则就会出现Strict Standards: PHP Strict Standards: Declaration of .... should be compatible with that of .... 的错误提示。也就是说必须父类在前,继承类在后。错误参考页面。bugs.php.net/bug.php?id=46851...

weixin_34290352的博客 293

【深度学习总结_02】在自己的数据集微调SAM

使用医疗影像数据微调SAM

qq_41234663的博客 1万+

php declaration of,PHP5.3的类继承错误:Strict Standards: Declaration of should be compatible with...

发布时间:2013-05-12 19:55:162011-07-21 15:10 should be compatible with that ofStrict Standards: Declaration of Zend_Db_Adapter_Php_Dbphp::insert() should be compatible with that of Zend_Db_Adapter_Abstrac...

weixin_42467768的博客 234

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

php declaration of,请问这个怎么解决?PHP Strict Standards: Declaration of table_forum_post

Standards:Declaration of table_forum_post::update() should be compatible with discuz_table::update($val, $data, $unbuffered = false, $low_priority = false) in D:\web\www.sss.com\source\class\table\t...

weixin_39622747的博客 396

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

PHP严格模式 Strict standards: Declaration of xxxxxx should be compatible with yyyyyy

PHP严格模式 Strict standards: Declaration of xxxxxx should be compatible with yyyyyy如下图所示,即为 在PHP严格检查下 出现的警告: 警告规则 (如):Strict standards: Declaration of xxxxxx should be compatible with yyyyyy上图所示的意思是:在PHP

PHP 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Strict Standards: Declaration of common::refund() should be compatible with WeModuleSite::refund($ti

Strict Standards: Declaration of common::refund() should be compatible with WeModuleSite::refund($tid, $fee = 0, $reason = '') in D:\phpstudy\WWW\qw\addons\yukiho_zvoice\model\common.phpon line 331复制开...

静如雪的博客 964

PHP 子类重写基类方法时报错问题。

PHP Strict standards:Declaration of … should be compatible with that of…子类重写基类方法时报错问题。 今天在写子类代码继承写父类方法时,报了PHP Strict standards:Declaration of … should be compatible with that of…这类型错误,字面上意思是方法不匹配,...

qq_26486949的博客 971

PHP中强制模式与严格模式,PHP严格模式 Strict standards: Declaration of xxxxxx should be compatible with yyyyyy...

如下图所示,即为 在PHP严格检查下 出现的警告: 警告规则 (如):Strict standards: Declaration of xxxxxx should be compatible with yyyyyy上图所示的意思是:在PHP 大于5.4的版本中,使用了 PHP的严格模式 检查程序,检测结果为 Index模块中的 clearcache()方法 必须兼容 父类Mytpl类中 定义的cl...

weixin_28864139的博客 766

Strict Standards: Declaration of UserModel::toJSON() should be compatible with that of BaseModel::t...

使用php报了这个错误: 错误的意思是: 严格标准: usermodel中的 toJSON() 方法 应该 同 BaseModel中的toJson() 方法是兼容的. php要求 子类的方法如果同父类相同的话, 那么 子类重写的方法的参数应该同父类中的一致. -------------- 其中BaseModel是 父类: UserModel中: -----...

weixin_30760895的博客 201

php strict,PHP Strict Standards:问题解决

PHP Strict Standards:Declaration ofannouncement::getcols() should be compatible with that oftable::getcols() inD:\web\php\CmsEasy\uploads\lib\tool\front_class.php on line 2467PHP Strict Standards:De...

weixin_39747383的博客 229

PHP Strict Standards问题

异常信息: ( ! ) Strict standards: Declaration of SugarEmailAddress::save() should be compatible with that of SugarBean::save() in D:\dev\server\xampp1\htdocs\sugar\include\SugarEmailAddress\SugarEmai...

congjl2002的专栏 301

PHP Strict Standards错误

在部署项目时出现:Strict standards: Declaration of ... should be compatible with that of ...错误,我使用的是php 5.3.3 &lt;?php abstract class A { // 方法无参数 public static function foo(){ echo 'bar'; } } abstract cl...

关注互联网技术 296
上一篇: php的setcookie函数无法将Cookie写入客户端浏览器
下一篇: XP SP3远程桌面无法连接Windows server 2008
Ethan_熠森张
博客等级 码龄18年 124粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值