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 静态化实现代码
Mar 20 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
php cc攻击代码与防范方法
Oct 18 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
Aug 13 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
PHP环境搭建(php+Apache+mysql)
Nov 14 PHP
php mysql实现mysql_select_db选择数据库
Dec 30 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
May 13 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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时间戳转换的示例
2014/03/31 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
php集成开发环境详解
2019/09/24 PHP
jquery随机展示头像代码
2011/12/21 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
js动态切换图片的方法
2015/01/20 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
Python读取网页内容的方法
2015/07/30 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
python 网络编程常用代码段
2016/08/28 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
基于Python正确读取资源文件
2020/09/14 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
2014年高考决心书
2014/03/11 职场文书
《开国大典》教学反思
2014/04/19 职场文书
股东合作协议书
2014/09/12 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang