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
使用字符串函数输出整数化的PHP版本号
Oct 09 PHP
PHP新手上路(四)
Oct 09 PHP
php array_flip() 删除数组重复元素
Jan 14 PHP
深入探讨PHP中的内存管理问题
Aug 31 PHP
基于PHP Web开发MVC框架的Smarty使用说明
Apr 19 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
php防止sql注入代码实例
Dec 18 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
Jul 22 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 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网站备份程序代码分享
2011/06/10 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
javascript自执行函数
2017/02/10 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Python笔记之代理模式
2019/11/20 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
python解包用法详解
2021/02/17 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
Intersport西班牙:在线体育商店
2019/11/06 全球购物
SQL Server笔试题
2012/01/10 面试题
职务任命书范本
2014/06/05 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
运动会演讲稿200字
2014/08/25 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
《藏戏》教学反思
2016/02/23 职场文书
Go使用协程交替打印字符
2021/04/29 Golang