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除数取整示例
Apr 24 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
微信自定义分享php代码分析
Nov 24 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
Dec 15 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP程序守护进程化实现方法详解
Jul 16 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
php debug 安装技巧
2011/04/30 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
PHP大文件切割上传并带进度条功能示例
2019/07/01 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python实现的数据结构与算法之链表详解
2015/04/22 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
一个入门级python爬虫教程详解
2021/01/27 Python
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
工程造价专业大学生自荐信
2013/10/01 职场文书
水污染治理专业毕业生推荐信
2013/11/14 职场文书
工厂厂长的职责
2013/12/12 职场文书
化工操作工岗位职责
2014/04/29 职场文书
教育合作协议范本
2014/10/17 职场文书
英文产品推荐信
2015/03/27 职场文书
鉴史问廉观后感
2015/06/10 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
python实现socket简单通信的示例代码
2021/04/13 Python
如何用JS实现简单的数据监听
2021/05/06 Javascript