gpt4 book ai didi

php - 如何解决“非静态方法 xxx :xxx() should not be called statically in PHP 5. 4?

转载 作者:IT王子 更新时间:2023-10-29 01:11:22 27 4
gpt4 key购买 nike

目前在使用大平台的PHP。

它所托管的服务器最近已升级到 PHP 5.4。

从那以后,我收到了许多错误消息,例如:

[Sat May 26 19:04:41 2012] [error] PHP Strict Standards: Non-static method Config::getData() should not be called statically, assuming $this from incompatible context in /xxx/Config.inc.php on line 35

示例方法定义为(注意缺少'static'关键字):

function &getData() {
$configData =& Registry::get('configData', true, null);

if ($configData === null) {
// Load configuration data only once per request, implicitly
// sets config data by ref in the registry.
$configData = Config::reloadData();
}

return $configData;
}

这之前没有造成问题,我认为错误消息(导致应用程序崩溃)可能与最近升级到 PHP5.4 有关。

是否有一个 PHP 设置我可以修改为“忽略”缺少静态关键字?

最佳答案

您可以从 error_reporting() 中删除 E_STRICT,或者如果您需要静态调用它,您可以简单地将您的方法设为静态。据我所知,没有(严格的)方法可以让一个方法既可以作为静态方法也可以作为非静态方法来调用。另外,更烦人的是,你不能有两个同名的方法,一个是静态的,另一个是非静态的。

关于php - 如何解决“非静态方法 xxx :xxx() should not be called statically in PHP 5. 4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10768576/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com