2017-01-22 7 views
-1

ローカルサーバーに1つのpearライブラリを実行しています。ライブラリは、静的メソッドを子クラスに対して非静的にするために開発されました。 their documentationを見てください。私のローカルサーバ(PHP 5.4を使用)でライブラリを実行すると、致命的なエラーが発生します。staticメソッドをstaticにできません

私は同じエラーメッセージを生成する非常に単純なPHPプログラムを作成しました。

class Test { 
    static function mytest($num) { 
     return $num + 10; 
    } 
} 


class childTest extends Test { 
    function mytest() { 
     echo Test::mytest(10); 
} 
} 

「致命的なエラー:静的メソッドのテストを行うことはできません::クラスchildTest内のMyTest()非静的」

誰もがこれらの梨ライブラリを実行中にこのエラーを対処する方法を知っているか、それがために使用するのでは純粋だいPHPの最新バージョンですか?

+1

を使用する必要がありますか?ドキュメントクラス 'DataObjects_Grp'はライブラリユーザによって書かれています。 –

+0

@GermanLashevich:静的メソッドstaticGetは、私のPHPコンパイラで胎児のエラーを生成する子クラスの静的でないstaticGet(同じ名前)で呼び出されます。私はPHPのバージョンを言及している。 – kta

+0

子クラスを編集できますか? –

答えて

0

これを行います。

class Test { 
    static function mytest($num) { 
     return $num + 10; 
    } 
} 


class childTest extends Test { 
    static function mytest() { 
     echo Test::mytest(10); 
    } 
} 

は、あなたが、それは非静的にする必要があるのはなぜ静的コンストラクタ

+2

このコードでは質問に答えることができますが、問題の解決方法および/または理由を説明する追加のコンテキストを提供すると、回答の長期的価値が向上します。 –

関連する問題