почему переменные в пространствах имен попадают в глобальную область видимости, и что я должен сделать для решения этой проблемы? - PullRequest
0 голосов
/ 13 февраля 2012

Мне бы хотелось, чтобы в моем пространстве имен были массивы, к которым могут обращаться все функции в пространстве имен.

Нет ли способа сделать это, не прибегая к таким именам, как $_MYNAMESPACE1_NAMESPACE2_NAMESPACE3_array1? Я полагаю, я мог бы создать класс в пространстве имен, который содержит статические массивы, но это кажется довольно неэффективным.

1 Ответ

2 голосов
/ 13 февраля 2012

Действительно, вы не можете использовать переменные пространства имен. Вы можете только классы пространства имен, интерфейсы, функции и константы. Поскольку переменные вне функций могут быть доступны только с помощью ключевого слова global, а global обычно является анти-шаблоном, это, вероятно, не то решение, которое вы ищете в любом случае. Класс, кажется, путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...