这篇文章主要介绍了php类常量用法,实例分析了php中类常量的概念、特性与相关使用技巧,需要的朋友可以参考下

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

类常量属于类自身,不属于对象实例,不能通过对象实例访问

子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量

自PHP5.3.0起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如self,parent或static)。

常量值只能是标量,string,bool,integer,float,null,可以用nowdoc结构来初始化常量<?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, '
';

echo Foo::BAR, '
';

$obj = new Foo();

echo $obj->getConstant(), '
';

echo $obj->getConstantValue(), '
';

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类常量是什么?类常量用法详解相关推荐

  1. 计算机科学类专升本复习之“C语言fopen函数的用法”详解(初稿)

    C语言fopen函数的用法,C语言打开文件详解 在C语言中,"操作文件" 之前 必须 先"打开文件"; 所谓"打开文件",就是让 " ...

  2. ios开发读取剪切板的内容_iOS中管理剪切板的UIPasteboard粘贴板类用法详解

    一.自带剪切板操作的原生UI控件在iOS的UI系统中,有3个控件自带剪切板操作,分别是UITextField.UITextView与UIWebView.在这些控件的文字交互处进行长按手势可以在屏幕视图 ...

  3. string类的用法详解

    //string函数用法详解!附代码,写具体的用法! #include <iostream> #include <string> #include <sstream> ...

  4. python定义类object_Python之ClassObject用法详解

    类和对象的概念很难去用简明的文字描述清楚.从知乎上面的一个回答中可以尝试去理解: 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行 ...

  5. C#中NameValueCollection类用法详解

    C#中NameValueCollection类用法详解,1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCol ...

  6. python中的super用法详解_【Python】【类】super用法详解

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

  7. c语言常量的正确表示const,C语言中的const和free用法详解

    注意:C语言中的const和C++中的const是有区别的,而且在使用VS编译测试的时候.如果是C的话,请一定要建立一个后缀为C的文件,不要是CPP的文件.因为,两个编译器会有差别的. 一.C语言中的 ...

  8. python 函数参数self_Python类中self参数用法详解

    Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了. 首先明确的是s ...

  9. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  10. Java类中this关键字和static关键字的用法详解

    今天给大家总结介绍一下Java类中this关键字和static关键字的用法. 文章目录 this关键字用法: 1:修饰属性,表示调用类中的成员变量 2:this修饰方法 3:this表示当前对象的引用 ...

最新文章

  1. WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(上)
  2. python语言的类型是_Python到底是强类型语言,还是弱类型语言?
  3. mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据
  4. [vscode] python debugging
  5. 1 linux网络诊断命令工具
  6. memcached学习笔记(1)——memcached原理
  7. 分布式系统互斥算法---令牌环算法
  8. 【非官方】哈工大2022 形式语言与自动机试题解析
  9. art-illumina模拟测序
  10. 如何过滤好的和坏的价格交易信号
  11. MotoSimEG-VRC软件:工装夹具运动机构制作方法
  12. 国家队ACM论文分类整理(转载)
  13. VR直播面临的五大技术挑战和实现难点
  14. 标准清洗槽中的质量参数的监控方法
  15. Android手机靠近蓝牙模块自动连接蓝牙模块,断后自动重连。也可以手机靠近手机自动连接。连接成功率百分之百,可后台运行
  16. 年会弹幕文字_微信弹幕_微信墙/弹幕抽奖/晚会年会必备互动
  17. React路由跳转时通过传参进行动态渲染的方法
  18. js 回车与空格转义
  19. Oracle版本区别及版本选择!
  20. 明比阅历浅,暗拼体力衰,指下讲武德,码上笑春风

热门文章

  1. 程序无法启动ALL_BUILD 拒绝访问
  2. Spring Boot 2.0新特性
  3. 采蘑菇的克拉莉丝(树链剖分)
  4. 南昌网络赛E Interesting Series
  5. P4900 食堂(数学式子推导)
  6. E:K-periodic Garland(DP)
  7. 【CF487E】Tourists【圆方树】【树链剖分】【multiset】
  8. C - Insertion Sort Gym - 101955C(2018icpc沈阳/打表找规律)
  9. 数据结构(终极线段树篇)
  10. 牛客题霸 [二叉树的镜像]C++题解/答案