可以把在類別中始終保持不變的值定義為常數。在定義和使用常數的時候不需要使用 $ 符號。
常數的值必須是一個定值,不能是變量,類別屬性,數學運算的結果或函數呼叫。
介面(interface)中也可以定義常數。更多範例請參閱文件中的介面部分。
自 PHP 5.3.0 起,可以用一個變數來動態呼叫類別。但該變數的值不能為關鍵字(如 self,parent 或 static)。
Example #1 定義和使用一個類別常數
<?php class MyClass { const constant = 'constant value'; function showConstant() { echo self::constant . "\n"; } } echo MyClass::constant . "\n"; $classname = "MyClass"; echo $classname::constant . "\n"; // 自 5.3.0 起 $class = new MyClass(); $class->showConstant(); echo $class::constant."\n"; // 自 PHP 5.3.0 起 ?>
Example #2 靜態資料範例
<?php class foo { // 自 PHP 5.3.0 起 const bar = <<<'EOT' bar EOT; } ?>
和 heredoc 不同,nowdoc 可以用在任何靜態資料中。
Note:
Nowdoc 支援是在 PHP 5.3.0 新增的。
注意:不像其他的物件導向程式語言,在php中,類別不能對某個屬性變數使用final修飾符。
如果要宣告某個屬性為常數,可以使用const關鍵字,且不需要使用美元符號作為變數名稱前綴,也不需要使用存取權限修飾符。常數意味著雖然可以存取該變量,但不能修改該變數的值。例如下邊的程式碼宣告了常數屬性con_var:
<?php class Foo{ const con_var="常量属性的值不能被修改<br />"; public function method_a(){ echo (self::con_var); } } echo(Foo::con_var); $myFoo=new Foo(); echo ($myFoo->method_a()); ?>
常數屬性不能使用物件訪問,僅能使用類別訪問,在類別本體中,可以使用“self::常數名稱”,在類別本體外可以使用“類別名稱::常數名”。
以上是如何使用php類別常數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!