我很新的命名空间(是的,我读过了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?