php類常量的使用詳解
可以把在類中始終保持不變的值定義為常量。在定義和使用常量的時(shí)候不需要使用 $ 符號(hào)。
常量的值必須是一個(gè)定值,不能是變量,類屬性,數(shù)學(xué)運(yùn)算的結(jié)果或函數(shù)調(diào)用。
接口(interface)中也可以定義常量。更多示例見文檔中的接口部分。
自 PHP 5.3.0 起,可以用一個(gè)變量來動(dòng)態(tài)調(diào)用類。但該變量的值不能為關(guān)鍵字(如 self,parent 或 static)。
Example #1 定義和使用一個(gè)類常量
<?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
注意:不像其他的面向?qū)ο缶幊陶Z(yǔ)言,在php中,類不能對(duì)某個(gè)屬性變量使用final修飾符。
如果要聲明某個(gè)屬性為常量,可以使用const關(guān)鍵字,并且無需使用美元符號(hào)作為變量名前綴,也無需使用訪問權(quán)限修飾符。常量意味著雖然可以訪問該變量,但不能修改該變量的值。例如下邊的代碼聲明了常量屬性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());
?>
常量屬性不能使用對(duì)象訪問,僅能使用類訪問,在類本體內(nèi),可以使用“self::常量名”,在類本體外可以使用“類名::常量名”。
- PHP中類屬性與類靜態(tài)變量的訪問方法示例
- PHP取得一個(gè)類的屬性和方法的實(shí)現(xiàn)代碼
- php類中private屬性繼承問題分析
- PHP獲取類中常量,屬性,及方法列表的方法
- php中類和對(duì)象:靜態(tài)屬性、靜態(tài)方法
- PHP動(dòng)態(tài)地創(chuàng)建屬性和方法, 對(duì)象的復(fù)制, 對(duì)象的比較,加載指定的文件,自動(dòng)加載類文件,命名空間
- php 類中的常量、靜態(tài)屬性、非靜態(tài)屬性的區(qū)別
- PHP用正則匹配form表單中所有元素的類型和屬性值實(shí)例代碼
- php過濾html標(biāo)記屬性類用法實(shí)例
- PHP的反射動(dòng)態(tài)獲取類方法、屬性、參數(shù)操作示例
- php類常量用法實(shí)例分析
- PHP 面向?qū)ο蟪绦蛟O(shè)計(jì)之類屬性與類常量實(shí)現(xiàn)方法分析
相關(guān)文章
詳解PHP+AJAX無刷新分頁(yè)實(shí)現(xiàn)方法
這篇文章主要介紹了詳解PHP+AJAX無刷新分頁(yè)實(shí)現(xiàn)方法,需要的朋友可以參考下2015-11-11
PHP設(shè)計(jì)模式之模板方法模式Template Method Pattern詳解
在我們實(shí)際開發(fā)中,如果一個(gè)方法極其復(fù)雜時(shí),如果我們將所有的邏輯寫在一個(gè)方法中,那維護(hù)起來就很困難,要替換某些步驟時(shí)都要重新寫,這樣代碼的擴(kuò)展性就很差,當(dāng)遇到這種情況就要考慮今天的主角——模板方法模式2022-12-12
php進(jìn)行md5加密簡(jiǎn)單實(shí)例方法
在本文里小編給大家整理了一篇非常實(shí)用的php如何進(jìn)行md5加密知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以參考下。2019-09-09
PHP使用new StdClass()創(chuàng)建空對(duì)象的方法分析
這篇文章主要介紹了PHP使用new StdClass()創(chuàng)建空對(duì)象的方法,結(jié)合具體實(shí)例形式分析了php空對(duì)象的創(chuàng)建與使用方法,需要的朋友可以參考下2017-06-06
PHP 使用二進(jìn)制保存用戶狀態(tài)的實(shí)例
下面小編就為大家分享一篇PHP 使用二進(jìn)制保存用戶狀態(tài)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
php設(shè)計(jì)模式 Interpreter(解釋器模式)
php設(shè)計(jì)模式 Interpreter(解釋器模式),需要的朋友可以參考下。2011-06-06
PHP使用正則表達(dá)式實(shí)現(xiàn)過濾非法字符串功能示例
這篇文章主要介紹了PHP使用正則表達(dá)式實(shí)現(xiàn)過濾非法字符串功能,結(jié)合留言板數(shù)據(jù)提交功能示例分析了php使用正則表達(dá)式preg_replace函數(shù)進(jìn)行字符串正則替換相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之對(duì)象克隆clone和魔術(shù)方法__clone()用法分析
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之對(duì)象克隆clone和魔術(shù)方法__clone()用法,結(jié)合具體實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象克隆clone和魔術(shù)方法__clone()相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-06-06

