почему имена не ищут по иерархии пространства имен
<?php
namespace App {
function date(...$args) { echo 'Wow, my date'; }
class A {};
}
namespace App\Core {
echo date('r'); // Thu, 30 Mar 2023 07:34:30 +0000
$a = new A; // Class 'App\\Core\\A' not found
}
Но я бы хотел увидеть 'Wow, my date' :)
php использовался просто как пример.
Я знаю, как это работает. Но мне интересно, почему пространство имен не поддерживает иерархию? Это просто особенности реализации или фундаментальное ограничение? С другой стороны, это происходит, когда пространство имен неявно объявлено в функциях и циклах во многих языках программирования. Но какая причина мешает разработчикам языков использовать иерархический поиск?