1

我正在运行 Ubuntu + PHP 5.4 并得到这样的错误:

严格标准:不应静态调用非静态方法 XTemplate::I(),假设 $this 来自第 339 行 ...

该方法如下所示:

interface ITemplate
{
    public function I();
}

class XTemplate implements ITemplate
{
    public function I()
    {
             ...
    }
}

并且此代码在 XAMPP 中的 Windows 7 上正常运行。我只找到了关闭 error_reporing 的建议,但我需要解决它。我是否需要安装一些模块才能打开 php.ini 中的一些其他设置?

4

2 回答 2

4

您收到错误消息是因为您正在静态调用该函数,而不是创建 XTemplate 类的实例。根据您的情况,将函数设为静态:

static public function I()
    {
             ...
    }

或者先创建一个 XTemplate 的实例:

$myXtemplate = new XTemplate();
$myXtemplate->I();

我希望这回答了你的问题。

编辑: 这个页面对你来说可能很有趣。

于 2013-04-09T09:24:46.117 回答
-1

我遇到了同样的错误,您只需要更改界面: public function I();更改为 public static function I();和创建实例时使用

public static function I();

我希望这会有所帮助。

于 2014-05-30T06:59:35.303 回答