-4

下面的代码,虽然在一台服务器上工作,但对另一台服务器不起作用

abstract class XCTemplate
{
    private static $_instances  =   array();

    public static function Instance($params = array())
    {
        $class = get_called_class();

        if(!isset(self::$_instances[$class]))
        {
            self::$_instances[$class]   =   new $class($params);
        }

        return self::$_instances[$class];
    }
}

我从上面的代码中得到的错误如下:

Fatal error: Call to undefined function get_called_class() in /home/mysite/public_html/wp-content/themes/mysite/Libray/class_template.php on line 36
4

2 回答 2

2

似乎它不起作用的服务器没有运行 PHP 5.3 或更高版本。您可以通过调用轻松验证您的 PHP 版本phpinfo()

如果它正在运行 < PHP 5.3,那么您将得到的错误是预期的。

文档

get_called_class

(PHP 5 >= 5.3.0)

于 2013-06-19T12:14:06.750 回答
1

get_call_class从 5.3 版开始存在。您的其中一台服务器不是运行旧版本吗?

于 2013-06-19T12:14:18.000 回答