В Php 5.3 реализован механизм пространств имен. Собственно это еще один небольшой шажок в сторону ООП. Что такое пространство имен легче пояснить на примере:
class FooClass{
function __constuct(){}
}
$test = new FooClass();
Данная конструкция работает просто замечательно, но до тех пор пока общее количество классов не велико и они разваботаны вами.
Однако в некоторых случаях названия могут совпасть, особенно такая ситуация может получиться, в случае работы нескольких разработчиков.
Из такой ситуации есть 2 выхода:
1. Переименовать конфликтующие классы
2. Воспользоваться namespace для решения таких конфликтов:
namespace RegisterModule;
class FooClass{
function __constuct(){}
}
namespace CmsModule;
class FooClass{
function __constuct(){}
}
...
$login = new RegisterModule::FooClass();
$login->a = 10;
$cms = new CmsModule::FooClass();
$cms->start();
Как видим в этом случае изолированы не только методы и переменные классов, но даже сами классы изолированы!
Комментарии