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&amp;&amp;mysql)四
Oct 09 PHP
php Http_Template_IT类库进行模板替换
Mar 19 PHP
php adodb连接mssql解决乱码问题
Jun 12 PHP
php header Content-Type类型小结
Jul 03 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
PHP语法自动检查的Vim插件
Aug 11 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
php实现购物车功能(下)
Jan 05 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
PHP面向对象自动加载机制原理与用法分析
Oct 14 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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 similar_text 字符串的相似性比较函数
2010/05/26 PHP
PHP自动生成后台导航网址的最佳方法
2013/08/27 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
python实现合并两个数组的方法
2015/05/16 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
机电专业求职信
2014/06/14 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
windows server2008 开启端口的实现方法
2022/06/25 Servers
OpenFeign实现远程调用
2022/08/14 Java/Android