在部署项目时出现:Strict standards: Declaration of ... should be compatible with that of ...错误,我使用的是php 5.3.3
<?php
abstract class A {
// 方法无参数
public static function foo(){ echo 'bar'; }
}
abstract class B extends A {
// 方法有参数
public static function foo($str){ echo $str; }
}
?>
解决方法:
<?php
abstract class A {
// 方法无参数
public static function foo(){ echo 'bar'; }
}
abstract class B extends A {
// 方法有参数
public static function foo($str = NULL){ echo $str; }
}
?>
这是由于 php 5.3版本后。要求继承类必须在父类之后定义。否则就会出现Strict Standards: PHP Strict Standards: Declaration of .... should be compatible with that of .... 的错误提示。也就是说必须父类在前,继承类在后。
分享到:
相关推荐
在PHP编程中,`Strict Standards`错误是一种标准警告,它表示你的代码不符合PHP的最新推荐实践,特别是关于变量引用的规定。在PHP 5.3及以上版本中,这种标准被更加严格地执行,以促进更好的编程习惯。在你提供的...
这个问题多半是因为引用传递参数引起的,解决办法一是修改代码不使用引用传递;另一个办法是修改php配置文件,修改error_reporting...今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables
3. **错误处理**:PHP 5.5默认将错误报告作为异常抛出,这可能导致未捕获的错误导致程序中断。需要检查并确保Ecmall中的错误处理机制能与新版本兼容。 4. **性能优化**:PHP 5.5引入了一些性能优化,如OpCache,这...
在PHP中,特别是当使用旧版本的脚本库时,可能会遇到一些Strict Standards错误,这些错误虽然不会导致程序崩溃,但会影响代码的可读性和可维护性。在ecshop中,由于它最初是为PHP 4设计的,所以在升级到PHP 5.0及...
标题“ecmall PHP5.5不报错”指的是在使用Ecmall电商平台系统时,在PHP 5.5环境下运行没有出现任何错误的情况。这通常意味着开发者已经成功地将Ecmall与PHP 5.5版本兼容,修复了可能出现的与旧版PHP不兼容的问题,...
`array_shift()`函数在PHP5.3之前版本中默认返回数组的第一个元素,而在PHP5.4及以上版本中,如果传入的数组为空,则会触发`Strict Standards`警告。此外,`explode()`函数在此处使用逗号`,`作为分隔符来分割字符串...
修复 PHP Strict Standards: Only variables should be passed by reference in D:\wwwroot\system\template\template.php 403错误。 后台无法登陆或登陆无响应删除缓存文件即可~ 帐号:admin 密码:admin
这段代码会抛出PHP Strict Standards Error,因为它试图以静态方式调用非静态方法`myClass::getName()`。不过,在PHP 5.3.10之前的某些版本,这种行为可能是允许的,但在之后的版本中被视为不标准的实践。 在PHP 4...
首先,在PHP5.3以上的版本中,如果使用了严格的模式(Strict Standards),当尝试通过引用传递非变量(例如函数调用的结果)时,会触发一个错误提示:"Only variables should be passed by reference"。这意味着你不...
由于PHP中`array_pop`操作的是原数组,这会导致在PHP 5.3及以上版本报“Strict Standards”错误,因为它期望传递的是一个变量而非表达式。为了解决这个问题,可以先将`explode`的结果赋值给一个新的变量,再调用`...
WPCS包含了关于命名约定、注释格式、错误处理、安全实践等多个方面的要求。例如,它强调使用下划线连接单词的命名风格,避免魔法数字,以及对SQL查询进行充分的参数化。 ### JavaScript编码标准(ESLint) `ESLint...