前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP的命名空间

PHP的命名空间

作者头像
老雷PHP全栈开发
发布2020-07-02 12:35:36
1.9K0
发布2020-07-02 12:35:36
举报
文章被收录于专栏:老雷PHP全栈开发

命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题:

1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。

2. 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

虽然任意合法的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响,

它们是:类(包括抽象类和traits)、接口、函数和常量。

定义命名空间

命名空间通过关键字namespace来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间

代码语言:javascript
复制
 namespace MyProject;
 namespace MyProject\Sub\Level;
 funtion a(){};

使用命名空间

代码语言:javascript
复制
 <?php
 namespace MyProject;
 function b(){};
 ?>
 <?php
 namespace MyProject\Sub\Level;
 function a(){}
 ?>
 <?php
 namespace MyProject;
 //非限定名称 同一个命名空间
 b();
 //限定空间 继承当前的命名空间
 Sub\Level\a();
 //使用完全限定名称 独立的命名空间
 \MyProject\Sub\Level\a();
 \strlen();
 ?>

别名和导入

别名和导入是通过操作符 use 来实现的

代码语言:javascript
复制
 use My\Full\Classname as Another; 
 // 下面的例子与 use My\Full\NSname as NSname 相同
 use My\Full\NSname;
 // 导入一个全局类
 use ArrayObject;
 // importing a function (PHP 5.6+)
 use function My\Full\functionName; 
 // aliasing a function (PHP 5.6+)
 use function My\Full\functionName as func; 
 // importing a constant (PHP 5.6+)
 use const My\Full\CONSTANT;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老雷PHP全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档