php类常量用法实例分析


Posted in PHP onJuly 09, 2015

本文实例讲述了php类常量用法。分享给大家供大家参考。具体如下:

<?php
/**
 * PHP类常量
 *
 * 类常量属于类自身,不属于对象实例,不能通过对象实例访问
 * 不能用public,protected,private,static修饰
 * 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量
 * 自PHP5.3.0起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如self,parent或static)。
 */
class Foo
{
  // 常量值只能是标量,string,bool,integer,float,null,可以用nowdoc结构来初始化常量
  const BAR = 'bar';
  public static function getConstantValue()
  {
    // 在类的内部可以用self或类名来访问自身的常量,外部需要用类名
    return self::BAR;
  }
  public function getConstant()
  {
    return self::BAR;
  }
}
$foo = 'Foo';
echo $foo::BAR, '<br />';
echo Foo::BAR, '<br />';
$obj = new Foo();
echo $obj->getConstant(), '<br />';
echo $obj->getConstantValue(), '<br />';
echo Foo::getConstantValue();
// 以上均输出bar
class Bar extends Foo
{
  const BAR = 'foo'; // 重写父类常量
  public static function getMyConstant()
  {
    return self::BAR;
  }
  public static function getParentConstant()
  {
    return parent::BAR;
  }
}
echo Bar::getMyConstant(); // foo
echo Bar::getParentConstant(); // bar

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
Php中文件下载功能实现超详细流程分析
Jun 13 PHP
php curl选项列表(超详细)
Jul 01 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
php array_merge_recursive 数组合并
Oct 26 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
php求一个网段开始与结束IP地址的方法
Jul 09 #PHP
PHP实现全角字符转为半角方法汇总
Jul 09 #PHP
php将金额数字转化为中文大写
Jul 09 #PHP
php实现的简易扫雷游戏实例
Jul 09 #PHP
php链表用法实例分析
Jul 09 #PHP
php结合curl实现多线程抓取
Jul 09 #PHP
php基本函数汇总
Jul 09 #PHP
You might like
PHP脚本的10个技巧(5)
2006/10/09 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
python素数筛选法浅析
2018/03/19 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
一套带答案的C++笔试题
2014/01/10 面试题
新闻传媒系求职信范文
2014/04/19 职场文书
校庆标语集锦
2014/06/25 职场文书
户籍证明书标准模板
2014/09/10 职场文书
拾金不昧感谢信
2015/01/21 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js
python3 hdf5文件 遍历代码
2021/05/19 Python
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL
浅谈python中的多态
2021/06/15 Python