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 相关文章推荐
php下防止单引号,双引号在接受页面转义的设置方法
Sep 25 PHP
php session安全问题分析
Jun 24 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
微信推送功能实现方式图文详解
Jul 12 PHP
用php实现分页效果的示例代码
Dec 10 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
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python中使用动态变量名的方法
2014/05/06 Python
python中range()与xrange()用法分析
2016/09/21 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
python3 实现口罩抽签的功能
2020/03/11 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
python pip如何手动安装二进制包
2020/09/30 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
自我评价如何写好?
2014/01/05 职场文书
自主招生推荐信范文
2014/05/10 职场文书
学校搬迁方案
2014/06/15 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
个人工作总结怎么写?
2019/04/09 职场文书