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下mysql数据库操作类(改自discuz)
Jul 03 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
PHP反射API示例分享
Oct 08 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
Laravel实现ORM带条件搜索分页
Oct 24 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
php实现的双向队列类实例
2014/09/24 PHP
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
Node.js实现数据推送
2016/04/14 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python运用于数据分析的简单教程
2015/03/27 Python
python中logging包的使用总结
2018/02/28 Python
Python八皇后问题解答过程详解
2019/07/29 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
python 进程池pool使用详解
2020/10/15 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
活动志愿者自荐信
2014/01/27 职场文书
个人银行贷款担保书
2014/04/01 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
答谢酒会主持词
2015/07/02 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android