簡體   English   中英

Zend Framework模型與服務

[英]Zend Framework model with service

我對Zend Framework以及主要是模型部分有疑問。 我知道沒有抽象模型類,並且理解為什么。 我在博客上發表了很多文章,但是找不到任何可以向我明確解釋的例子。 我正在構建一個非常基本的應用程序。 假設我們只有三個表。 公司(ID,名稱,街道,街道編號,鎮),元數據(ID,名稱,描述),company2meta(ID,公司ID,元ID,值,注釋)。 所有類型的房地產都在那里(1n n1,nm)。 一個需要還與價值對象服務(AMF)。 所以,這就是我的想法:

  1. 我將在/model/dbTables/(Company.php、Meta.php、Company2Meta.php)下創建三個表類。

  2. 然后在models /中,我將添加User.php(基本類),該類應該具有saveCompany ...,deleteCompany,getCompanyMeta ...之類的方法,並在所選表上方進行操作。

  3. 服務類(/services/CompanyService.php)將在構造函數中創建模型的實例,並具有與model相同的方法。

這是我的問題。 數據應該如何流動,應該在哪里進行? 例如,當我在服務類中調用getCompany時,我希望它返回值對象,該對象包含有關公司及其元數據的所有信息。 如果沒有模型類,則可以從mate2company獲取行形式的company和rowet並將其轉換為值對象,並且當我想要更新它時,我需要保存有關company及其所有元數據的信息(需要查找新元數據) (插入),舊(更新)並刪除已刪除的...)那么該在哪里進行呢? 是模型還是服務? 我希望你能理解我的要求。

ps:對不起,我的英語...

您的用戶模型應如下所示:

class App_Model_User
{
    protected $_data = array(
        'id' => null,
        'username' => null,
        'companyId' => null,
        'company' => null
    );

public function setId($id)
{
    $this->_data['id'] = $id;
}

public function getId()
{
    return $this->_data['id'];
}

//Other setters getters..

public function setCompany(Cms_Model_Company $company)
{
    $this->_data['company'] = $company;
}

public function getCompany()
{
    if (null == $this->_data['company']) {
        $this->setCompany(Cms_Service_Company::find($this->_data['companyId']));
    }

    return $this->_data['company'];
}
}

因為用戶和公司是另外一個想法,所以它們必須是另一個模型。

暫無
暫無

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

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