php 中 const 的使用和学习笔记

php const 的使用场景和定义

疫情期间,停止更新了很长时间,回家过年吧,家里有孩子,老人,天天围着转,没有个人空间可以创作。上班了吧,也不顺心,今年的计划估计也是泡汤了,但是呢,人不能气馁,需要在闲时好好夯实自己的基础。回家了没搞,那现在就开始咯。任何事情只要开始做了就不晚。

最近看php官方手册 扎实基础,发现是个好东西哇,我们应该要隔三差五的去看看,或许能发现很多有用的东西,毕竟人这一辈子不可能把所有的内容都记住,要用到的时候,头脑中立马能浮现出知识索引,知道在哪里找到示例和使用方法。我建议是去官网手册啊,不管是什么语言,在官网都能找到较好的解决方案。

今天的主角是 const,用于定义类的成员变量(常量),一经定义不可修改。这个跟define还有点区别的,define通常定义全局变量(常量),define不能够在类中使用。官方手册定义如下:


可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。

常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。

接口(interface)中也可以定义常量。更多示例见文档中的接口部分。

自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如 selfparentstatic)。


const 常量在定义是必须要有初始值,前面不加任何修饰符,例如 美元符号“$”, 常量变量用大写,并且const大小写敏感,常量是属于一个类的,而不是某个对象,它还可以被子类继承。

const 不可以放到if语句里使用,像这样是错的:

if(!isset(CONST_VAR)){
    const CONST_VAR = "hello"
}

访问const和访问静态方法差不多,直接类名::变量名

一般当某些值固定不变时就用const。这个知识点源于和朋友的讨论,当时不知道,被问住了才晓得自己有些东西掌握并不牢靠。希望自己能经常过来看笔记,加深印象。


相关文章