php類常量的使用詳解
可以把在類中始終保持不變的值定義為常量。在定義和使用常量的時候不需要使用 $ 符號。
常量的值必須是一個定值,不能是變量,類屬性,數(shù)學運算的結果或函數(shù)調用。
接口(interface)中也可以定義常量。更多示例見文檔中的接口部分。
自 PHP 5.3.0 起,可以用一個變量來動態(tài)調用類。但該變量的值不能為關鍵字(如 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 靜態(tài)數(shù)據(jù)示例
<?php
class foo {
// 自 PHP 5.3.0 起
const bar = <<<'EOT'
bar
EOT;
}
?>
和 heredoc 不同,nowdoc 可以用在任何靜態(tài)數(shù)據(jù)中。
Note:
Nowdoc 支持是在 PHP 5.3.0 新增的。
更多可以參考這篇文章:http://php.net/manual/zh/language.oop5.constants.php#language.oop5.constants
注意:不像其他的面向對象編程語言,在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中類屬性與類靜態(tài)變量的訪問方法示例
- PHP取得一個類的屬性和方法的實現(xiàn)代碼
- php類中private屬性繼承問題分析
- PHP獲取類中常量,屬性,及方法列表的方法
- php中類和對象:靜態(tài)屬性、靜態(tài)方法
- PHP動態(tài)地創(chuàng)建屬性和方法, 對象的復制, 對象的比較,加載指定的文件,自動加載類文件,命名空間
- php 類中的常量、靜態(tài)屬性、非靜態(tài)屬性的區(qū)別
- PHP用正則匹配form表單中所有元素的類型和屬性值實例代碼
- php過濾html標記屬性類用法實例
- PHP的反射動態(tài)獲取類方法、屬性、參數(shù)操作示例
- php類常量用法實例分析
- PHP 面向對象程序設計之類屬性與類常量實現(xiàn)方法分析
相關文章
PHP設計模式之模板方法模式Template Method Pattern詳解
在我們實際開發(fā)中,如果一個方法極其復雜時,如果我們將所有的邏輯寫在一個方法中,那維護起來就很困難,要替換某些步驟時都要重新寫,這樣代碼的擴展性就很差,當遇到這種情況就要考慮今天的主角——模板方法模式2022-12-12
PHP使用new StdClass()創(chuàng)建空對象的方法分析
這篇文章主要介紹了PHP使用new StdClass()創(chuàng)建空對象的方法,結合具體實例形式分析了php空對象的創(chuàng)建與使用方法,需要的朋友可以參考下2017-06-06
PHP面向對象程序設計之對象克隆clone和魔術方法__clone()用法分析
這篇文章主要介紹了PHP面向對象程序設計之對象克隆clone和魔術方法__clone()用法,結合具體實例形式分析了php面向對象程序設計中對象克隆clone和魔術方法__clone()相關操作技巧與使用注意事項,需要的朋友可以參考下2019-06-06

