2017-10-29 6 views
0

どうすればこの問題を解決できますか? エラーは次のとおりです。致命的なエラー:このときではない行に/.../amfphp/core/amf/app/Gateway.php内のオブジェクトのコンテキストで134amfphpでエラーが発生する

public static function service() { 

     //Set the parameters for the charset handler 
     CharsetHandler::setMethod($this->_charsetMethod); // the problem points here 
     CharsetHandler::setPhpCharset($this->_charsetPhp); 
     CharsetHandler::setSqlCharset($this->_charsetSql); 

     //Attempt to call charset handler to catch any uninstalled extensions 
     $ch = new CharsetHandler('flashtophp'); 
     $ch->transliterate('?'); 

     $ch2 = new CharsetHandler('sqltophp'); 
     $ch2->transliterate('?'); 

     $GLOBALS['amfphp']['actions'] = $this->actions; 

答えて

0

あなたは$this変数を使用することはできません$を使用します内部staticのメソッド内に、原因クラスインスタンスが存在しません。静的メソッドはクラスのインスタンスについて何も知らないので、instance methodsではなく、class methodsとしてこれらのメソッドを扱うことができます。この機能の修飾子staticを削除する必要があるようです。詳細については、docsを確認してください。

+0

私はこの前にエラーがあったので、私はgoogleでそれをチェックし、修正は関数の前に 'public static'を置くことでした。私はそれを行ったときにエラーが消えたが、これが来た... – tyrlaka

+0

@tyrlaka、本当に 'static'メソッドが何であるか、そしてそれらをどのように使うべきかチェックするべきである。静的メソッド/プロパティはSilverbulletではなく、独自の制限と利益を持つOOPの一部です。 docs http://php.net/manual/en/language.oop5.static.phpを確認してください。他のヘルプが必要な場合は - あなたの質問を更新するか、新しいものを公開してください:) –

関連する問題