0

オブジェクトの属性の 1 つを別のタイプのオブジェクトの配列にしたいと考えています。

これをどのように表現しますか (つまり、public $someObjectArray;)

この属性にエントリを追加する構文は何ですか?

オブジェクトを参照する構文は何ですか?

いくつかの(うまくいけば)有用なコンテキストを提供するため。

オブジェクトがいくつかの属性を持つプロパティであると仮定しましょう。そのうちの 1 つは、名前、年齢などの独自のプロパティを持つテナントの数です...

4

1 に答える 1

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

テナント モデルに何らかの識別可能なプロパティ (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
    }
}
于 2012-05-07T05:13:30.830 に答える