我无法弄清楚为什么在php 5.4中出现这个错误。
严格标准:不应静态调用非静态方法dbInstance :: getInstance()
课程是:
class dbInstance
{
private static $db;
public static function getInstance()
{
if (! self::$db) self::$db = new db();
return self::$db;
}
}
我称之为:
$registry->db = $db = dbInstance::getInstance()
由于
答案 0 :(得分:1)
我无法重现错误。你绝对确定你编辑了正确的文件吗?或者您可能正在看到输出的缓存版本?
<?php
$db = dbInstance::getInstance();
class dbInstance
{
private static $db;
public static function getInstance()
{
if (! self::$db) self::$db = new db();
return self::$db;
}
}
class db {
public function __construct() {
echo 'db::construct filemtime=', date('Y-m-d H:i:s', filemtime(__FILE__)), ' PHPVERSION=', PHP_VERSION;
}
}
在我的电脑上打印
db::construct filemtime=2012-07-27 14:50:37 PHPVERSION=5.4.1