Какова связь между выполнением импорта / использования во время компиляции и его масштабами и динамикой? - PullRequest
0 голосов
/ 07 марта 2020

Этот вопрос возник из моего предыдущего вопроса Почему при динамической оценке элементов пространства имен необходимо использовать полностью определенные имена? и другой вопрос Использовать php пространство имен внутри функции . Оба эти вопроса сводятся к следующему объяснению php. net:

Импорт выполняется во время компиляции и поэтому не влияет на класс, функцию или константу динамического c names .... .... Ключевое слово use должно быть объявлено в самой внешней области файла (глобальной области) или внутри объявлений пространства имен. Это связано с тем, что импорт выполняется во время компиляции, а не во время выполнения

Я всего лишь бывший разработчик с ограниченными знаниями в области компьютерных наук. У меня поверхностное понимание первого факта, что во время выполнения у машинного кода нет пространства имен исходного файла, поэтому динамическое разрешение переменной приводит к глобальной области видимости, но я не уверен, как этот факт применим к компиляции время выполнения, в результате чего use импорт доступен только в глобальной области видимости.

Пожалуйста, дайте исчерпывающее объяснение того, как выполнение времени компиляции влияет на функционирование import/use.

...