そのクラスの静的関数と同じ名前のインスタンス関数を作成しようとすると、次のエラー メッセージが表示されます。
Fatal error: Cannot redeclare Module::get_config() in [path]/static-redeclare.php on line 32
このテストに使用した完全なコードは、https ://gist.github.com/IQAndreas/ccaebe6d660a7248ca9e にあります。
このタイプのエラーは、Action Script 3 や Java などの他の言語では発生しません。どちらかの関数を間違って宣言していますか、それとも PHP はそのような「特別な」ものであり、スコープが異なる場合でも関数名の繰り返しを好まないのですか?
後者の場合、PHP が静的関数名とインスタンス関数名の衝突を防止する論理的な理由があるのでしょうか、それとも PHP 言語の作成者が気まぐれに決定したのでしょうか?