PHP基礎(chǔ)之類和對象2——類的屬性
類的變量成員叫做“屬性”,或者叫“字段”、“特征”,在本文檔統(tǒng)一稱為“屬性”。屬性聲明是由關(guān)鍵字?public,protected?或者?private?開頭,然后跟一個普通的變量聲明來組成。屬性中的變量可以初始化,但是初始化的值必須是常數(shù),這里的常數(shù)是指 PHP 腳本在編譯階段時就可以得到其值,而不依賴于運行時的信息才能求值。
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。
在類的成員方法里面,可以用?->(對象運算符):$this->property(其中?property?是該屬性名)這種方式來訪問非靜態(tài)屬性。靜態(tài)屬性則是用?::(雙冒號):self::$property 來訪問。
Example #1 屬性聲明
class SimpleClass
{
//錯誤的屬性聲明
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)文章:
