PHP基础 namespace PHP7 和 PHP5的不同

php自5.3版本开始引入命名空间的概念,其关键字为namespace——定义命名空间,还有use——使用命名空间的某个应用。

简单来说,命名空间就是一种封装事物的方法。可以类比于操作系统中的文件夹的概念。

在php设计namespace之初,目的就是为了解决类名、函数名或者常量名冲突问题,以及为比较长的类名创建一个别名以方便对代码的阅读。

至于命名空间的定义和使用不是本章的重点。php7相对于php5来说可以说是一个质的跨越。php7新增了很多新的特性,这里针对namespace看看php7都有哪些不同。

其实说到不同,在namespace方面不算多,在php5的基础上增加了同时引用一组命名空间的特性。

对于同一命名空间下的类、函数和常量,在php7之前,我们来看一下都是如何使用的。

<?php

use some\namespace\ClassA;

use some\namespace\ClassB;

use some\namespace\ClassC as C;

use function some\namespace\fn_a;

use function some\namespace\fn_b;

use function some\namespace\fn_c;

use const some\namespace\ConstA;

use const some\namespace\ConstB;

use const some\namespace\ConstC;

而php7之后对于同一命名空间下的类、函数和常量可以作为一组来引用。

<?php

use some\namespace\{ClassA, ClassB, ClassC as C};

use function some\namespace\{fn_a, fn_b, fn_c};

use const some\namespace\{ConstA, ConstB, ConstC};

同时也可以如下方式引用

<?php

use some\namespace\{

classA,ClassB,ClassC as C,

function fn_a,function fn_b,function fn_c,

const ConstA,const ConstB,const ConstC

}

这样的引用方式相对于php7之前的引用方式来说应该是精简了很多。

除了namespace之外,php7在其他方面也新增了很多特性。具体可查看 php7新特性

本文转载自:迹忆客(https://www.jiyik.com)

以上是 PHP基础 namespace PHP7 和 PHP5的不同 的全部内容, 来源链接: utcz.com/z/290152.html

回到顶部