1

Ubuntu + PHP 5.4 を実行していますが、次のようなエラーが発生しました。

厳格な基準: 非静的メソッド XTemplate::I() は静的に呼び出されるべきではありません。

そして、そのメソッドは次のようになります。

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 に答える