@KuzmenkoArtem

Как узнать какое используется пространство имен из подключаемого файла?

То есть.
У меня есть файл напр. index.php
namespace Index;
require_once "file.php";

и файл file.php
echo __NAMESPACE__
На экран ничего не выводит.
Разве подключаемые файлы выполняются отдельно? Как можно узнать имя пространства из подключаемого файла? Спасибо.
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Да, подключение файлов не влияет на пространства имен. То есть если вы подключаете файл, в котором пространство имен File, из пространства имен Index, то оно и останется File.

Соответственно __NAMESPACE__ выводит к какому пространству имен относится выполняемый код.

Что до вашей задачи, подключаемые файлы ничего не должны знать о том, кто их подключает. Просто смиритесь с этим фактом (задачу решить можно но кастылями со стэком вызовов и извращениями). Да и вообще, используйте PSR-4 и автозагрузку и прекратите все вручную реквайрить. А еще лучше используйте Composer.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы