关于命名空间:PHP中的命名空间

命名空间(英语:Namespace)示意标识符(identifier)的可见范畴。一个标识符可在多个命名空间中定义,它在不同命名空间中的含意是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。 简略说来命名空间是为了解决不同库在同一个环境下应用时呈现的命名抵触。例如我本人有一个函数名叫A,然而零碎曾经有一个A函数了,那就会呈现抵触。 PHP中的命名空间 PHP从5.3版本开始引入了命名空间,之后许多现有PHP类库以及框架都开始反对它。那么PHP的命名空间怎么用呢?定义命名空间上面是一个定义命名空间的例子 <?php //file a.phpnamespace A; const test = 'Atest'; function test() { return __FUNCTION__;} class Test{ public function __construct(){ return __METHOD__;}}?> 下面例子中就是一个典型的命名空间定义方法,只有const, function, class受命名空间的束缚应用命名空间应用命名空间的形式如下: <?phpnamespace B;use A; const test = 'Btest';function test() { return __FUNCTION__;} class Test{ public function __construct(){ return __METHOD__;}} include "a.php";//必须蕴含A命名空间的文件 // 齐全限定// \B\test从相对地位查找输入,如果是全局函数则\testecho \B\test; //输入Btest // 限定名称 // 这里曾经通过use A申明了在这个文件能够通过\A\...应用A命名空间的函数echo A\test; //输入Atest // 非限定名称// 非限定名称的函数test会从以后命名控件查找,即Becho test; //输入Btest // namespace关键字代表以后命名空间echo namespace/test; ...

June 6, 2021 · 1 min · jiezi