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();;