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