В php 5.3 сделан еще один шаг на пути к объектно ориентированному программированию это namespace или попросту пространство имён
Для чего это надо. вот простенький пример
class Test{
function __constuct(){}
}
$test = new Test();
простой класс, и все работает хорошо пока таких классов не больше 10 и все их написали вы сами. Но если команда разработчиков состоит из большего числа народу, то рано или поздно но встанет ситуация когда названия двух классов в разных файлах совпадут. И из этого будет 2 решения, либо постоянно переименовывать классы либо воспользоваться namespace
namespace AuthModule;
class Test{
function __constuct(){}
}
namespace DBModule;
class Test{
function __constuct(){}
}
...
$login = new AuthModule::Test();
$login->a=10;
$connect = new DBModule::Test();
$connect->start();
Таким образом не только методы и переменные классов изолированы но и сами классы.