php命名空间:非限定名称、限定名称、完全限定名称实例详解
来源:互联网 发布:推广淘宝网站 编辑:程序博客网 时间:2024/06/06 09:45
命名空间中的三个名称的术语如下所示:
1.非限定名称,或不包含前缀的类名称,例如 $comment = new Comment();。如果当前命名空间是Blog\Article,Comment将被解析为Blog\Article\Comment。如果使用Comment的代码不包含在任何命名空间中的代码(全局空间中),则Comment会被解析为Comment。
2.限定名称,或包含前缀的名称,例如 $comment = new Article\Comment();。如果当前的命名空间是Blog,则Comment会被解析为Blog\Article\Comment。如果使用Comment的代码不包含在任何命名空间中的代码(全局空间中),则Comment会被解析为Comment。
3.完全限定名称,或包含了全局前缀操作符的名称,例如 $comment = new \Article\Comment();。在这种情况下,Comment总是被解析为代码中的文字名(literal name)Article\Comment。
其实可以把这三种名称类比为文件名(例如 comment.php)、相对路径名(例如 ./article/comment.php)、绝对路径名(例如 /blog/article/comment.php),这样可能会更容易理解。
在这里创建一个Blog 空间,使用非限定名称,表示当前Blog空间,实例化以后这个调用将被解析。使用限定名称,表示相对于Blog空间,实例化以后这个调用将被解析成 Blog\Article\Comment(),注意类前面没有反斜线。使用完全限定名称,表示绝对于Blog空间,实例化以后这个调用将被解析,注意类前面有反斜线和没有反斜线区别。
其示例代码如下所示:
<?php
//创建空间Blog
namespace
Blog;
class
Comment { }
//非限定名称,表示当前Blog空间
//这个调用将被解析成 Blog\Comment();
$blog_comment
=
new
Comment();
//限定名称,表示相对于Blog空间
//这个调用将被解析成 Blog\Article\Comment();
$article_comment
=
new
Article\Comment();
//类前面没有反斜杆\
//完全限定名称,表示绝对于Blog空间
//这个调用将被解析成 Blog\Comment();
$article_comment
=
new
\Blog\Comment();
//类前面有反斜杆\
//完全限定名称,表示绝对于Blog空间
//这个调用将被解析成 Blog\Article\Comment();
$article_comment
=
new
\Blog\Article\Comment();
//类前面有反斜杆\
//创建Blog的子空间Article
namespace
Blog\Article;
class
Comment { }
?>
- php命名空间:非限定名称、限定名称、完全限定名称实例详解
- php命名空间:非限定名称、限定名称、完全限定名称实例详解
- 限定名称,命名空间
- as3中命名空间——命名空间名称限定符引用的一些注意的问题
- Eclipse快速获取类的限定名称
- 如何省去一个表的完全限定名,在每个数据库都用同样名称访问
- 简单的从客户端上传文件的完全限定名称里取出文件名
- java枚举实现命名空间层级限定
- PHP命名空间的名称解析规则
- Spring中用@Component、@Repository、@Service和 @Controller等标注的默认Bean名称会是小写开头的非限定类名
- 未指定名称命名空间
- php---- <<<限定字符串应用
- php 形参 限定类型
- XSD限定例子详解
- 名称空间
- 名称空间
- 名称空间
- 名称空间
- 通过html5的百分比进行居中
- 关于Selenium-Java环境搭建时各插件的版本
- com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor和oracle不识别
- **统计学相关系数(1)___Spearman Rank**
- 对称加密的对称密钥分发
- php命名空间:非限定名称、限定名称、完全限定名称实例详解
- codeforces 869c(组合数)
- 练习 3:Bash:Shell、.profile、.bashrc、.bash_history。
- 【LibUIDK界面库系列文章】使用RichEdit制作QQ聊天记录控件
- 朴素贝叶斯(未完待续......)
- Session和Application
- RTL8192EU 无线网卡Ubuntu16.04安装驱动
- python3中input输入浅谈
- dubbo源码分析-consumer端5-Filter