使用总结:

1.不能使用 define 来定义

2.通过 "类名::常量名" 来获取

/**
* 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 : 类常量的更多相关文章

  1. delphi 类方法、类变量、类常量、类属性的研究,自己的研究

    群里我师傅给我的答案: unit Unit4; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Vari ...

  2. PHP面向对象——类常量,魔术常量与延期绑定

    普通常量  define('常量名',常量值): 以前说过:define定义的常量,全局有效 无论是页面内,函数内,类内,都可以访问. 例: define('ACC','Deny')    class ...

  3. php面向对象之抽像类、接口、final、类常量

    一.抽像类(abstract)        在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性语法结构:  代码如下 复制代码   ab ...

  4. rails将类常量重构到数据库对应的表中之一

    问题是这样:原来代码.html.erb页面中有一个select元素,其每个item对应的是model中的类常量: <%= f.select :pay_type,Order::PAYMENT_TY ...

  5. Php面向对象 – 类常量

    Php面向对象 – 类常量 类常量:类中,保存执行周期内,不变的数据. 定义: constkeyword const 常量名 = 常量值 样例: class Student { public  $st ...

  6. 浅谈PHP面向对象编程(四、类常量和静态成员)

    4.0 类常量和静态成员 通过上几篇博客我们了解到,类在实例化对象时,该对象中的成员只被当前对象所有.如果希望在类中定义的成员被所有实例共享. 此时可以使用类常量或静态成员来实现,接下来将针对类常量和 ...

  7. PHP中的预定义常量、类常量和魔术常量的区别

    PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 对于一些基本的常量是这些常量在 ...

  8. PHP 范围解析操作符 (::) 主要用于访问静态成员和类常量

    范围解析操作符 (::) 范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法. 当在类定义之外引 ...

  9. php类常量

    类常量类常量可以使用define定义,也可用const定义,但是在类的内部,只允许用const定义,类常量不能更新,也不能删除类常量通常是大写的,两个单词之间用下滑线连接,如MY_NATION类常量在 ...

随机推荐

  1. Python脚本模拟登录网页之CSDN篇

    1. 通过Firefox配合插件Tamper Date获取登录时客户端向服务器端提交的数据, 并且发现lt和execution这两个字段每次登录时都不一样. POSTDATA=username=you ...

  2. Apache Spark技术实战之3 -- Spark Cassandra Connector的安装和使用

    欢迎转载,转载请注明出处,徽沪一郎. 概要 前提 假设当前已经安装好如下软件 jdk sbt git scala 安装cassandra 以archlinux为例,使用如下指令来安装cassandra ...

  3. Jquery EasyUI使用总结(一)

    1,弹出Iframe,新窗口 //打开编辑页面要加载的数据 function ShowDialog(id, url, width, height, onLoadFunc) { $("#&qu ...

  4. ++i 与 i++ 区别

    i++返回原来的值 ++i 返回i+1的值   但是i++  i的值也会增加1 但是返回还是原来的值 int i = 1; i = i++; System.out.println(i); 输出 1 i ...

  5. mongoose升级后遇到的问题

    由于想在mongoose中使用Q,所以将mongoose升级到了4.1.0,而线上mongoDB的版本是2.6.7,升级的时候,node-modules存在mongoose的残渣,所以调用 npm i ...

  6. 移动web开发框架

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...

  7. ubuntu安装eclipse配置jdk环境

    $ sudo mkdir /usr/local/java //在此目录下新建一个文件夹java $ sudo mv 下载/jdk-8u111-linux-i586.tar.gz /usr/local/ ...

  8. li ul 说明

    复制代码代码如下: <div id="menu">  <ul>  <li><a href="#">首页</ ...

  9. for循环使用详解(c语言版)

    说明:c语言的很多语法部分都和JAVA,AS等相同 特别是for的用法. c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况 ...

  10. Web Components是不是Web的未来

    今天 ,Web 组件已经从本质上改变了HTML.初次接触时,它看起来像一个全新的技术.Web组件最初的目的是使开发人员拥有扩展浏览器标签的能力,可以自由的进行定制组件.面对新的技术,你可能会觉得无从下 ...