PHPにおけるOOPの名前空間入門
PHPスクリプトを実行する際に同じ名前のクラスが 2つあると、それらは衝突し、致命的なエラーを 引き起こします。これは実際にはあまり便利では ありません。なぜなら、常に名前の一意性を 意識しなければならないからです。
例として、次の状況を考えてみましょう:
あなたのサイトにはユーザーと管理者がいます。
フォルダusersにはユーザー用のクラスが、
フォルダadminには管理者用のクラスが
保存されています。
ユーザーにも管理者にも、サイトの何らかの
ページを担当するあるクラスPageが
必要だとします。この場合、ユーザー用と
管理者用で別々のクラスが必要になります。
このような状況で、名前の衝突が待ち構えて
います。
この衝突を解決する最も簡単な方法は、
クラスに異なる名前を付けることです。
例えば、UsersPageとAdminPage
のようにします。しかし、この方法では次第に
非常に長いクラス名が増えていきます。
PHPにはこの問題を解決する別の方法があります - 名前空間です。その要点は次のとおりです: 各クラスは何らかの名前空間に属することができ、 クラス名の一意性はその名前空間内だけで 守ればよいのです。
つまり、私たちの問題を解決するために、
次のことができます:一つのクラスPageを
例えばUsersのような名前空間に属させ、
もう一つのクラスPageを
例えばAdminのような別の名前空間に
属させるのです。