加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php const常量修饰符运用方法

发布时间:2023-10-26 15:44:48 所属栏目:PHP教程 来源:
导读:在PHP中定义常量是通过define()函数来完成的,但在类中定义常量不能使用define(),而需要使用const修饰符。类中的常量使用const定义后,其访问方式和静态成员类似,都是通过类名或在成员方法中使用self访问,但在PHP 5
在PHP中定义常量是通过define()函数来完成的,但在类中定义常量不能使用define(),而需要使用const修饰符。类中的常量使用const定义后,其访问方式和静态成员类似,都是通过类名或在成员方法中使用self访问,但在PHP 5.3.0之后也可以使用对象来访问。被const定义的常量不能重新赋值,如果在程序中试图改变它的值将会出现错误。
 
 代码如下
 
1
 
2      class MyClass {
 
3            const CONSTANT = 'CONSTANT value' ; //使用const声明一个常量,并直接赋上初使值
 
4               function showConstant() {                
 
5                    echo  self ::CONSTANT ."
 
" ;//使用self访问常量,注意常量前不要加“$”
 
6              }
 
7       }
 
8       echo MyClass:: CONSTANT . "
 
" ; //在类外部使用类名称访问常量,也不要加”$”
 
9       $class = new MyClass();                      
 
10      $class->showConstant();                       
 
11       echo $class ::CONSTANT;  // PHP 5.3.0之后
 
12 ?>
 
关注细节:使用const定义的常量名称前不需要使用“$“符号,且常量名称通常都是大写的。
 
试图为const定义的常量赋值,将会出现错误。
 
 代码如下
 
1
 
2   class MyClass {
 
3            const CONSTANT = 'CONSTANT value' ;   
 
4                function setCONSTANT(){
 
5                 self ::CONSTANT  = 'news CONSTANT' ;//程序运行结果将会出错。
 
6      }                                                                                  
 
7       }
 
8       echo MyClass:: CONSTANT ;                                                     
 
9 ?>
 
程序运行结果将会出错。
 
 
使用const修饰的常量更其它的常量 有点不同的地方就是:常量名前不要使用”$”,切记!当然这个常量值也是不能修改的,一旦定义就不能程序的任何地方进行“人为”的修改。这跟使用 define定义是一样,还有就是使用const来定义当然也遵守其它常量的命名规则
 
 
扩展阅读:
 
常量前面没有美元符号($);
 
常量只能用 define() 函数定义,而不能通过赋值语句;
 
常量可以不用理会变量范围的规则而在任何地方定义和访问;
 
常量一旦定义就不能被重新定义或者取消定义;
 
常量的值只能是标量;
 
常量只能包含标量数据(boolean,integer,float 和 string),不要定义 resource常量.
 
可以用函数 constant() 来读取常量的值.get_defined_constants()可以获得所有已定义的常量列表.
 
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 “CONSTANT”),此时将发出一个 E_NOTICE 级的错误.
 
PHP 的“魔术常量”.
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章