Что такое пространство имен

Статус
В этой теме нельзя размещать новые ответы.

vipTelnet

Постоялец
Регистрация
14 Янв 2013
Сообщения
143
Реакции
11
День добрый
Объясните мне пожалуйста что такое пространство имен, когда и где его можно использовать, а так же про слово use которое тоже с этим всем связано, сколько об этом читал, все равно четкого представления об это не сложилось.
Я так понял что для крупных проектов где используется много всяких компонентов модулей, оно используется для того что б имена переменных и классов из этих компонентов не перекрывали один другое,так?
 
Пространство имен, в теории можно сравнить с папками в файловой стстеме. Вы можете хранить несколько похожих классов с одинаковым названием но немного отличающимся функционалом в разных пространствах имен.
Более подробно тут Для просмотра ссылки Войди или Зарегистрируйся

Use это вызов trait доступного начиная с PHP 5.4.
Трэйты, по сути, те же классы, только их можно использовать многократно - один трейт использовать во многих классах, например.
Более подробно тут Для просмотра ссылки Войди или Зарегистрируйся
 
use как я почитал используются и для импортирования пространства имен тоже
Спасибо за ссылку по trait вообще было очень интересно почитать
Так это получается что добрую половину шаблонов проектирование вообще можно переписать с их использованием, если только в них досконально разобраться.
 
Если рассматривать php, то это просто класс со статическими переменными и функциями, к которым ты обращаешься используя имя класса и :: .

К примеру:
Код:
class namespace
{
    public static $var1 = 'Значение 1';
    public static $var2 = 'Значение 2';
   
    public static function getVars()
    {
        return self::$var1;
    }
}

echo namespace::$var2;
echo namespace::getVars();
 
Можешь писать разные методы в классах с одинаковым названием ,а потом можешь их обьеденить в один большой класс, и чтобы не было путаницы в этих классах вводят пространство имён. Но если начнёшь использовать пространство имён, то тогда и многие старые функции придётся переписывать.
 
Простарнство имен удобно использовать, если разработка приложения ведется несколькими командами, чтобы исключить коллизии имен и применяют пространство. Так же ео применяют при разработке библиотек.
 
Удобный механизм разруливания коллизий при подключении разных библиотек с потенциально одинаковыми функциями. Старое название "область видимости переменной"
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху