2012-05-07 163 views
0

我想我的對象的屬性之一是另一種類型的對象的數組。如何在PHP中的對象中存儲對象數組?

我如何代表這(即公共$ someObjectArray;)

什麼是添加到這個屬性的條目的語法?

引用對象的語法是什麼?

提供一些(希望)有用的上下文。

讓我們假定對象是具有某些屬性其中之一就是一些住戶誰都會有自己的屬性,如姓名,年齡等屬性...

回答

1
class Tenant { 
    // properties, methods, etc 
} 

class Property { 
    private $tenants = array(); 

    public function getTenants() { 
     return $this->tenants; 
    } 

    public function addTenant(Tenant $tenant) { 
     $this->tenants[] = $tenant; 
    } 
} 

如果租戶模型具有一定的某種可識別的財產(編號,唯一的名稱等),您可以將其作爲因子以提供更好的存取方法,例如

class Tenant { 
    private $id; 

    public function getId() { 
     return $this->id; 
    } 
} 

class Property { 
    private $tenants = array(); 

    public function getTenants() { 
     return $this->tenants; 
    } 

    public function addTenant(Tenant $tenant) { 
     $this->tenants[$tenant->getId()] = $tenant; 
    } 

    public function hasTenant($id) { 
     return array_key_exists($id, $this->tenants); 
    } 

    public function getTenant($id) { 
     if ($this->hasTenant($id)) { 
      return $this->tenants[$id]; 
     } 
     return null; // or throw an Exception 
    } 
} 
相關問題