В php 5.3 сделан еще один шаг на пути к объектно ориентированному программированию это namespace или попросту пространство имён
Для чего это надо. вот простенький пример

1
2
3
4
5
 class Test{
    function __constuct(){}
}

$test = new Test();

простой класс, и все работает хорошо пока таких классов не больше 10 и все их написали вы сами. Но если команда разработчиков состоит из большего числа народу, то рано или поздно но встанет ситуация когда названия двух классов в разных файлах совпадут. И из этого будет 2 решения, либо постоянно переименовывать классы либо воспользоваться namespace

1
2
3
4
5
namespace AuthModule;

class Test{
    function __constuct(){}
}

1
2
3
4
5
6
7
8
9
10
namespace DBModule;

class Test{
    function __constuct(){}
}

$login = new AuthModule::Test();
$login->a=10;
$connect = new DBModule::Test();
$connect->start();

Таким образом не только методы и переменные классов изолированы но и сами классы.