「PHP 致命的なエラー: オブジェクト コンテキストにない場合に $this を使用する」が解決されました
エラー「致命的なエラー: オブジェクト コンテキストにない場合に $this を使用する」が発生しましたオブジェクト コンテキスト内にありません」は、参照された $this キーワードがクラス コンテキストの外で使用されていることを示します。これをよりよく理解するために、コードを分析してみましょう。
index.php では、load.php ファイルが必要であり、さらに、class.php が必要です。 class.php 内では、コンストラクター内の $this->foo 割り当てが原因でエラーが発生します。
行 $this->foo = $foo;現在のオブジェクトの foo プロパティにアクセスしようとしますが、オブジェクトをインスタンス化しないと、参照する $this がありません。したがって、この行はオブジェクト コンテキストの外では無効です。
エラーを修正するには、foobar クラスのオブジェクトをインスタンス化し、そのオブジェクトでそのメソッドを呼び出す必要があります。これは、次の例で実現できます。
静的メソッドの呼び出し:
foobarfunc メソッドを静的として宣言し、静的変数 $foo を定義して、class.php を変更します。 。これにより、オブジェクトをインスタンス化せずにメソッドを直接呼び出すことができます。
オブジェクト呼び出し:
$foobar = new foobar; を使用して foobar クラスのオブジェクトをインスタンス化します。そして、$foobar->foobarfunc(); を使用してそのオブジェクトのメソッドを呼び出します。
したがって、オブジェクト コンテキストの外で $this を使用しようとすると、エラーが発生します。これを解決するには、$this 参照を使用せずに静的メソッドを使用するか、オブジェクトをインスタンス化してそのオブジェクトのメソッドを呼び出します。
以上が「PHP 致命的エラー: オブジェクト コンテキストにない場合に $this を使用する」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。