将来もそのまま使用できるようなコードを書くためには、 グローバル名前空間にあまり多くの変数や関数やクラスを置かないことをおすすめします。 そうしておけば、サードパーティのコードと名前が衝突したり PHP 自体に追加された機能と名前が衝突したりする可能性を減らせます。
関数やクラスの名前が衝突することを防ぐ手としてよくあるのが、 それ専用の namespace を用意することです。
<?php
namespace MyProject;
function my_function() {
return true;
}
\MyProject\my_function();
既存の名前空間と名前が重複してしまわないように気をつける必要はありますが、 いったん名前空間を用意してしまえば、そこに関数やクラスを追加するときには 名前が衝突する心配をせずに済むようになります。
サードパーティのコードとの名前の衝突を防ぐという意味で、 グローバル名前空間への変数の追加をできるだけ避けるというのはよい習慣だと考えられています。
注意: 変数のスコープ
PHP の 変数のスコープのルール では、関数やメソッドの内部で定義した変数はグローバルスコープにはなりません。 そのため、グローバルスコープで定義された変数との名前の衝突を気にする必要はありません。