Темы

Блоги

Пространства имен в php 5.3 Среда 17 Февраль 2010 09:59:40

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

 
Как видим в этом случае изолированы не только методы и переменные классов, но даже сами классы изолированы!

Теги:

Комментарии

  • Хм... Нет комментариев... Но вы пожете исправить это!

Написать комментарий

Прежде чем высказать свое мнение, прочитайте пожалуйста правила!
Вам необходимо включить показ изображений в браузере для того чтобы увидеть код

Дайте нам знать, что вы - живой человек. Для нас это важно!
Кликните, если плохо видно