PHP命名空间
php命名空间可以解决以下两种问题:
1.用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。
命名空间简述
定义命名空间:
(默认情况下,所有常量、类和函数名都放在全局空间下,就和PHP支持命名空间之前一样。)
命名空间通过关键字namespace 来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间。
语法格式如下:
也可以在同一个文件中定义不同的命名空间代码,如下所示:
注意:
1.命名空间对define定义的常量不管用。
2.声明命名空间之前唯一合法的代码是用于定义源文件编 码方式的 declare语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。
以下代码会出现语法错误:
3.将全局的非命名空间中的代码与命名空间中的代码组合在一起,只能使用大括号形式的语法。全局代码必须用一个不带名称的namespace 语句加上大括号括起来。
子命名空间
与目录和文件的关系很像,PHP 命名空间也允许指定层次化的命名空间的名称。因此,命名空间的名字可以使用分层次的方式定义:
上面的例子创建了
常量MyProject\Sub\Level\CONNECT_OK,
类 MyProject\Sub\Level\Connection
函数 MyProject\Sub\Level\Connect。
PHP命名空间
最新推荐文章于 2022-09-05 17:24:50 发布