严格标准:非静态方法dbInstance :: getInstance()

时间:2012-07-27 12:40:57

标签: php

我无法弄清楚为什么在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()

由于

1 个答案:

答案 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