エラー メッセージ「厳密な標準: 非静的メソッドを静的に呼び出すことはできません」 「静的に呼び出されました」は、静的呼び出しを使用して非静的メソッドにアクセスしたときに発生します。このエラーに対処するために、静的に呼び出される場合にすべてのメソッドが静的として宣言されるようにコードを変更します。
提供されたコードでは、Page クラスのメソッドは静的として宣言されていませんが、それらは静的と呼ばれます。この問題を解決するには、メソッド宣言に static キーワードを追加する必要があります。
Modify Page.php
class Page{ // ... public static function getInstanceByName($name=''){ // ... } // ... }
これらのメソッドを静的にすることで、次のことが可能になります。 Index.php にあるように、クラス名を使用してアクセスできます。 file:
// ... if($page){ // load by name $r = Page::getInstanceByName($page); if($r && isset($r->id)) $id = $r->id; } // ...
追加メモ
以上が「厳密な基準: 非静的メソッドは静的に呼び出すべきではありません」という PHP エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。