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 相关文章推荐
PHP生成便于打印的网页
Oct 09 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
Mar 03 PHP
php date()日期时间函数详解
May 16 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 PHP
php获取远程文件内容的函数
Nov 02 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 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
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
python 从文件夹抽取图片另存的方法
2018/12/04 Python
Python中遍历列表的方法总结
2019/06/27 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
python编写简单端口扫描器
2019/09/04 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
物流管理专业大学生自荐信
2013/10/04 职场文书
管理科学大学生求职信
2013/11/13 职场文书
考试没考好检讨书
2014/01/31 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
校友回访母校寄语
2015/02/26 职场文书
管辖权异议上诉状
2015/05/23 职场文书
部分武汉产收音机展览
2022/04/07 无线电