Область действия с несколькими файлами и пространствами имен

Я довольно новичок в пространствах имен (и да, я прочитал раздел пространств имен документации PHP). Мне интересно, какова область имен для нескольких файлов. Допустимо ли пространство имен за одним файлом, когда я включаю или требую этот файл в файле с глобальным кодом? И, кроме того, как это влияет на глобальный код? Буду ли я вынужден изменить что-нибудь синтаксическое с глобальным кодом.

Например, допустим, у меня есть файл A.php. То, что я хочу иметь, это:

namespace A;
class Abc { ... }

А потом, скажем, у меня есть файл с глобальным кодом, назовите его main.php:

include("A.php");
class Abc { ... }
$abc = new Abc(); // Should be global Abc, right?
$abcFromNameSpace = new A\Abc(); // Should be namespace Abc, right?
...

В качестве дополнительного вопроса мне также интересно, что произойдет с областью действия, если я включу файл с пространствами имен в другой файл с пространствами имен, в отличие от приведенного выше примера, где main.php имеет только глобальный код. Будет ли это работать так:

namespace A;
class Abc { ... }

А затем, скажем, у меня есть файл с глобальным кодом, назовите его B.php:

namespace B;
include("A.php");
class Abc { ... }
$abc = new B\Abc(); // Should be namepsace B Abc, right?
$abcFromNameSpace = new A\Abc(); // Should be namespace A Abc, right?

Ответы на вопрос(1)

Ваш ответ на вопрос