1. 程式人生 > >PHP類 const常量訪問方法例子

PHP類 const常量訪問方法例子

php面向物件之final的應用中,講到了PHP面向物件常用的修飾符final的應用,接下來講到PHP面向物件中常用的常量修飾符const

我們知道,在PHP中定義常量是通過define()函式來完成的,但在類中定義常量不能使用define(),而需要使用const修飾符。類中的常量使用const定義後,其訪問方式和靜態成員類似,都是通過類名或在成員方法中使用self訪問,但在PHP 5.3.0之後也可以使用物件來訪問。被const定義的常量不能重新賦值,如果在程式中試圖改變它的值將會出現錯誤。

<?php
     class MyClass {
          const CONSTANT = 'CONSTANT value' ; //使用const宣告一個常量,並直接賦上初使值
             function showConstant() {               
                  echo  self ::CONSTANT ."<br>" ;//使用self訪問常量,注意常量前不要加“$”
             }
     }
     echo MyClass:: CONSTANT . "<br>" ; //在類外部使用類名稱訪問常量,也不要加”$”
     $class = new MyClass();                     
     $class->showConstant();                      
     echo $class ::CONSTANT;  // PHP 5.3.0之後
?>

關注細節:使用const定義的常量名稱前不需要使用“$“符號,且常量名稱通常都是大寫的。

試圖為const定義的常量賦值,將會出現錯誤。

<?php
     class MyClass {
          const CONSTANT = 'CONSTANT value' ;  
              function setCONSTANT(){
               self ::CONSTANT  = 'news CONSTANT' ;//程式執行結果將會出錯。
      }
                                                                                                                                                                                      
     }
     echo MyClass:: CONSTANT ;          
                                                                                                                                                                              
?>

程式執行結果將會出錯。