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的几个常用数字判断函数代码
Apr 24 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
php判断表是否存在的方法
Jun 18 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 PHP
Laravel5.1框架路由分组用法实例分析
Jan 04 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
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
详解python 发送邮件实例代码
2016/12/22 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
python super用法及原理详解
2020/01/20 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
2014年军人思想汇报范文
2014/10/12 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
教师年终个人总结
2015/02/11 职场文书
市场总监岗位职责
2015/02/11 职场文书
java开发双人五子棋游戏
2022/05/06 Java/Android