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的正则处理函数总结分析
Jun 20 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
php微信公众平台开发之微信群发信息
Sep 13 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
PHP 7.4 新语法之箭头函数实例详解
May 09 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
Snoopy类使用小例子
2008/04/15 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
基于php编程规范(详解)
2017/08/17 PHP
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
jQuery大于号(&gt;)选择器的作用解释
2015/01/13 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
javascript实现拖放效果
2015/12/16 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
高中生活自我鉴定
2014/01/18 职场文书
小学少先队工作总结2015
2015/05/26 职场文书