【发布时间】:2012-06-01 20:55:45
【问题描述】:
目前在使用大平台的PHP。
它所在的服务器最近已升级到 PHP 5.4。
从那以后,我收到了许多错误消息,例如:
[2012 年 5 月 26 日星期六 19:04:41] [错误] PHP 严格标准:不应静态调用非静态方法 Config::getData(),假设 $this 来自 /xxx/Config.inc 中的不兼容上下文.php 在第 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 设置我可以修改为“忽略”缺少静态关键字?
【问题讨论】:
-
创建一个 Config 实例并从中调用 getData()
-
您能否附上
&getData()的内容样本?具体来说,返回的具体内容和方式。 -
在原始问题中添加了 &getData() 的内容——不过我必须强调,这个错误是在升级到 5.4 之后才出现的,所以我相信逻辑没问题跨度>
标签: php static-methods