WordPressの規約ではたしか使用を推奨していないため、WordPressを多用しているような方はあまり使わないと思われるnamespaceの使い方の復習をしてみた。
namespaceはクラス名の衝突が発生しないようにするための仕組みで、クラスファイルのクラス宣言の前に使用することで、名前空間ができる。
<?php
// bar.php
namespace Foo;
// 名前空間は「\」でつなげることで階層を示すのが一般的。
// 下記は例。
// namespace Foo\Bar\Baz;
class Bar {
...
}
このように利用することで、Barクラスは名前空間ができるため、他のファイルでBarクラスを宣言している場合に使い分けができるようになる。
Barクラスを使う場合は、下記のように宣言する。
require_once 'bar.php';
$bar = new Foo\Bar();
// use構文を使うことで、名前空間のエイリアスが作成できる
// 以下は例。
// use Foo;
// $bar = new Bar();;