Как работают пространства имен для переменных
Постигаю основы ООП тестируя все подряд. Столкнулся с проблемой - вот код этой самой проблемы:
<?php
namespace MyNamespace {
$myVar = 'strong';
}
namespace AnotherNamespace {
echo $myVar;
}
Переменная $myVar
находится в пространстве имен MyNamespace
, а ее вызов идет из пространства имен AnotherNamespace
, что означает что по идее echo
не должна видеть $myVar
- вопрос - почему код все-таки работает и переменная выводится в консоль? версия php-8.1.2
P.S. ChatGPT клянется что код работать не должен, но он - РАБОТАЕТ))) КАК? ПОЧЕМУ?
Источник: Stack Overflow на русском