萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php const常量修飾符使用方法

php const常量修飾符使用方法

在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 ;                                                     

?>

程序運行結果將會出錯。


使用const修飾的常量更其它的常量 有點不同的地方就是:常量名前不要使用”$”,切記!當然這個常量值也是不能修改的,一旦定義就不能程序的任何地方進行“人為”的修改。這跟使用 define定義是一樣,還有就是使用const來定義當然也遵守其它常量的命名規則


擴展閱讀:

常量前面沒有美元符號($);
常量只能用 define() 函數定義,而不能通過賦值語句;
常量可以不用理會變量范圍的規則而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標量;
常量只能包含標量數據(boolean,integer,float 和 string),不要定義 resource常量.
可以用函數 constant() 來讀取常量的值.get_defined_constants()可以獲得所有已定義的常量列表.
如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調用它一樣(CONSTANT 對應 “CONSTANT”),此時將發出一個 E_NOTICE 級的錯誤.
PHP 的“魔術常量”.

名稱

說明

__LINE__

文件中的當前行號。

__FILE__

文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。

__FUNCTION__

函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。

__CLASS__

類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。

__METHOD__

類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。

copyright © 萬盛學電腦網 all rights reserved