php5.5中类级别的常量使用介绍


Posted in PHP onOctober 02, 2013

不久前php刚发布了5.5的第一个稳定版,介绍了一个类级别的常量,名字是 `CLASS` 这个常量对所有的类有效,返回类的全名。

<?php 
namespace vendorpackage; 
class Foo 
{ 
    // ... 
} 
var_dump(Foo::CLASS); 
//上面脚本输出 string(18) "vendorpackageFoo".

为什么要使用它

我们为什么要使用一个这样的常量,当然不是像上面那个例子一样只是获得类的全名。我们使用__NAMESPACE__也可以达到同样的效果,而且php5.3就可以用了:

<?php 
namespace vendorpackage; 
class Foo 
{ 
    // ... 
} 
var_dump(__NAMESPACE__ . 'Foo');

然而,当你需要完全限定名称,命名空间引用了类命名空间别名…然后它变得有趣。

在下面的例子:

<?php 
use vendorpackageFoo; 
class FooTest extends PHPUnit_Framework_TestCase 
{ 
    public function testBarCanBeProcessed() 
    { 
        $bar = $this->getMock('vendorpackageBar'); 
        $foo = new Foo; 
        $foo->process($bar); 
        // ... 
    } 
}
<?php 
use vendorpackageFoo; 
use vendorpackageBar; 
class FooTest extends PHPUnit_Framework_TestCase 
{ 
    public function testBarCanBeProcessed() 
    { 
        $bar = $this->getMock(Bar::CLASS); 
        $foo = new Foo; 
        $foo->process($bar); 
        // ... 
    } 
} 
PHP 相关文章推荐
eWebEditor v3.8 商业完整版 (PHP)
Dec 06 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
PHP数据过滤的方法
Oct 30 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
深入理解PHP中的count函数
May 31 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 #PHP
PHP文件上传主要代码讲解
Sep 30 #PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 #PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 #PHP
PHP设置一边执行一边输出结果的代码
Sep 30 #PHP
PHP file_get_contents设置超时处理方法
Sep 30 #PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 #PHP
You might like
Smarty日期时间操作方法示例
2016/11/15 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
基于python中__add__函数的用法
2019/11/25 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
乔迁宴答谢词
2014/01/21 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
在校证明模板
2015/06/17 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书