PHP基礎(chǔ)之類和對象2——類的屬性
類的變量成員叫做“屬性”,或者叫“字段”、“特征”,在本文檔統(tǒng)一稱為“屬性”。屬性聲明是由關(guān)鍵字?public,protected?或者?private?開頭,然后跟一個(gè)普通的變量聲明來組成。屬性中的變量可以初始化,但是初始化的值必須是常數(shù),這里的常數(shù)是指 PHP 腳本在編譯階段時(shí)就可以得到其值,而不依賴于運(yùn)行時(shí)的信息才能求值。
Note:
為了向后兼容 PHP 4,PHP 5 聲明屬性依然可以直接使用關(guān)鍵字?var?來替代(或者附加于)public,protected?或?private。但是已不再需要?var?了。在 PHP 5.0 到 5.1.3,var?會被認(rèn)為是廢棄的,而且拋出?E_STRICT?警告,但是 5.1.3 之后就不再認(rèn)為是廢棄,也不會拋出警告。
如果直接使用?var?聲明屬性,而沒有用?public,protected?或?private?之一,PHP 5 會將其視為?public。
在類的成員方法里面,可以用?->(對象運(yùn)算符):$this->property(其中?property?是該屬性名)這種方式來訪問非靜態(tài)屬性。靜態(tài)屬性則是用?::(雙冒號):self::$property 來訪問。
Example #1 屬性聲明
class SimpleClass
{
//錯(cuò)誤的屬性聲明
public $var1 = ’hello ’.’world’;
public $var2 = <<<EOD
hello world
EOD;
public $var3 = 1+2;
public $var4 = self::myStaticMethod();
public $var5 = $myVar;
//正確的屬性聲明
public $var6 = myConstant;
public $var7 = array(true,false);
//PHP5.3.0及以后,下面的聲明也正確
public $var8 = <<<’EOD’
hello world
EOD;
}
跟?heredocs?不同,nowdocs?可在任何靜態(tài)數(shù)據(jù)上下文中使用,包括屬性聲明。
Example #2 示例:使用 nowdoc 初始化屬性
//PHP5.3.0起
public $var = <<<’EOD’
hello world
EOD;
Note:
Nowdoc 支持是在 PHP 5.3.0 新增的。
相關(guān)文章:
1. CSS3中Transition屬性詳解以及示例分享2. AJAX實(shí)現(xiàn)指定部分頁面刷新效果3. AJAX實(shí)現(xiàn)注冊驗(yàn)證用戶名4. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容5. jsp+servlet簡單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))6. 關(guān)于在HTML網(wǎng)頁制作中如何添加背景圖片7. ASP.NET Core實(shí)現(xiàn)中間件的幾種方式8. 解決Python中的modf()函數(shù)取小數(shù)部分不準(zhǔn)確問題9. 解決request.getParameter取值后的if判斷為NULL的問題10. ASP.NET MVC把數(shù)據(jù)庫中枚舉項(xiàng)的數(shù)字轉(zhuǎn)換成文字
