2010-05-17 73 views

回答

55

嗯,任意屬性添加到對象的一般方法是:

$object->attributename = value; 

可以,乾淨多了,在PHP 4,你會使用預先定義的類屬性(PHP 5+具體,老var $attributename

class baseclass 
{ 

    public $attributename; // can be set from outside 

    private $attributename; // can be set only from within this specific class 

    protected $attributename; // can be set only from within this class and 
          // inherited classes 

此強烈建議,因爲你還可以記錄下你的類定義的屬性。

您也可以定義getter and setter methods,每當您嘗試修改對象的屬性時都會調用它。

0

這是一個靜態類,但同樣的原則也適用於一個類型化的類。 這讓你存儲和檢索你想從這個類中得到的任何東西。並在嘗試獲取未設置的內容時拋出錯誤。

class Settings{ 
    protected static $_values = array(); 

public static function write($varName, $val){ 
    self::$_values[ $varName ] = $val; 
} 
public static function read($varName){ 

    if(!isset(self::$_values[ $varName ])){ 
     throw new Exception($varName . ' does not exist in Settings'); 
    } 

    return self::$_values[ $varName ]; 
} 
}