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 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
php获取指定范围内最接近数的方法
Jun 02 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
php中通过eval实现字符串格式的计算公式
Mar 18 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
实例介绍PHP删除数组中的重复元素
Mar 03 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
PHP异步调用socket实现代码
2012/01/12 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
浅析Python中return和finally共同挖的坑
2017/08/18 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
python中open函数的基本用法示例
2019/09/07 Python
python实发邮件实例详解
2019/11/11 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
奥地利网上书店:Weltbild
2017/07/14 全球购物
打架检讨书100字
2014/01/08 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
邀请函范文
2015/02/02 职场文书
PHP判断是否是json字符串
2021/04/01 PHP