首頁  >  文章  >  後端開發  >  如何使用php類別常數?

如何使用php類別常數?

伊谢尔伦
伊谢尔伦原創
2017-06-29 09:14:431470瀏覽

可以把在類別中始終保持不變的值定義為常數。在定義和使用常數的時候不需要使用 $ 符號。

常數的值必須是一個定值,不能是變量,類別屬性,數學運算的結果或函數呼叫。

介面(interface)中也可以定義常數。更多範例請參閱文件中的介面部分。

自 PHP 5.3.0 起,可以用一個變數來動態呼叫類別。但該變數的值不能為關鍵字(如 self,parent 或 static)。

Example #1 定義和使用一個類別常數

<?php
class MyClass
{
  const constant = &#39;constant value&#39;;
  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 = <<<&#39;EOT&#39;
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn