php命名空间:非限定名称、限定名称、完全限定名称实例详解
来源:互联网 发布:linux recovery mode 编辑:程序博客网 时间:2024/05/20 18:01
命名空间中的三个名称的术语如下所示:
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//创建空间Blognamespace 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的子空间Articlenamespace Blog\Article;class Comment { }?>
- php命名空间:非限定名称、限定名称、完全限定名称实例详解
- php命名空间:非限定名称、限定名称、完全限定名称实例详解
- 限定名称,命名空间
- as3中命名空间——命名空间名称限定符引用的一些注意的问题
- Eclipse快速获取类的限定名称
- 如何省去一个表的完全限定名,在每个数据库都用同样名称访问
- 简单的从客户端上传文件的完全限定名称里取出文件名
- java枚举实现命名空间层级限定
- PHP命名空间的名称解析规则
- Spring中用@Component、@Repository、@Service和 @Controller等标注的默认Bean名称会是小写开头的非限定类名
- 未指定名称命名空间
- php---- <<<限定字符串应用
- php 形参 限定类型
- XSD限定例子详解
- 名称空间
- 名称空间
- 名称空间
- 名称空间
- EditText密码可见与隐藏,EditText光标位置设置在内容后
- autossh
- 3 创建一个kotlin新工程
- Spark-特征抽取(TF-IDF)
- 辩论2如何说服聪明人
- php命名空间:非限定名称、限定名称、完全限定名称实例详解
- YouTube 有一套专属于自己的字体了,据说灵感来自“播放键”
- AlertDialog弹框和ProgressDialog下载进度框
- 自己动手实现简单权限控制
- mybatis入门实例
- 2017.05.23回顾 python引用赋值 reset_index pd.concat
- g2o: 如何使用g2o的例子
- Angularjs按需加载学习链接
- OSGI开发(三)