Разделитель Пространства Имен В Php

Я рекомендую проверить Внутреннее устройство PHP: обсуждение endnamespace После очередного обсуждения IRC было решено использовать символ \ в качестве разделителя в пространствах имен в PHP. Патч готовится, и неизвестно, войдет ли он в PHP 5.3 или нет. Аргумент можно найти Здесь или Здесь Основная проблема использования :: в качестве разделителя, по мнению разработчиков, заключается в том, что сложно понять, что происходит в строке кода.



Foo::bar();

станет трудным (это вызов статического метода bar() из класса Foo или вызов функции bar() из пространства имен Foo?).

Дополнительным ограничением является то, что сам интерпретатор PHP не сможет отличить разрешение имен от вызова статического метода.

От подобной двусмысленности предполагается избавиться с помощью символа \.

Однако многие разработчики считают, что это неправильный выбор.

Символ \ используется в escape-последовательностях.

Возникнет проблема с редактированием кода в существующих редакторах и IDE, даже просто на уровне подсветки кода, не говоря уже о его анализе.

Преимущество такого подхода, по мнению разработчиков патча, в том, что он \используется\к\отдельным\элементам\путям в Windows и поэтому будет интуитивно понятен для программистов из мира Windows (По результатам опроса, большинство php |читатели архитектуры работают и на Windows, и на Unix. Они просто разворачивают работу :-)).

Другие плюсы:

  1. \ визуально отличается от ::, поэтому беглый взгляд на код поможет отличить пространство имен от статического метода.

  2. \ вставляется в код с использованием только одной клавиши (без необходимости удерживать Shift) на английской клавиатуре
Теги: #php #пространство имен #php
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.