簡體   English   中英

如何在PHP的對象中存儲對象數組?

[英]How do I store an array of objects within an object in PHP?

我希望對象的屬性之一是另一種對象的數組。

我該如何表示(即公共$ someObjectArray;)

將條目添加到此屬性的語法是什么?

引用對象的語法是什么?

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

讓我們假設對象是具有某些屬性的屬性,其中之一是一些將具有自己的屬性(例如名稱,年齡等)的租戶。

class Tenant {
    // properties, methods, etc
}

class Property {
    private $tenants = array();

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

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

如果租戶模型具有某種可識別的屬性(ID,唯一名稱等),則可以考慮使用該模型來提供更好的訪問器方法,例如

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
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM