2012-10-03 49 views
2

我的問題是關於目錄樹model樹中的正確使用和代碼放置。我一直在閱讀很多,但無法得出結論。這裏有一些我已經檢查的鏈接:本網站magento模型正確放置方法

我有幾個表和它們與資源和收集相對應的模型如:

magento 
. 
. 
Model 
    ├───Resource 
    │  ├─ first_model 
    │  │   └─ collection.php 
    │  ├─ second_model 
    │  │   └─ collection.php 
    │  ├─ first_model.php 
    │  └─ second_model.php 
    ├─ first_model.php 
    └─ second_model.php 

所以,我的問題:我想知道我必須在哪裏寫我的方法。關於php文件位於型號文件夾下,在php文件裏面資源文件夾或裏面collection.php文件?我正在研究我已安裝的不同插件來查找模式,但我不明白要放置在哪裏。也許是微不足道的,遵循一些模式,但沒辦法,我可以發現它或通過谷歌搜索找到它。

回答

1

關於這件事情可能會有幾種意見,我不確定我是否正確。但由於目前還沒有人給出答案,我猜這種看法甚至比沒有答案好。

所以對於大多數模型你有3個模型類。例如,讓我們假設你有一個博客的延伸和我們談論模型文章:

  1. 收集(類Yaroslav_Blog_Model_Resource_Article_Collection) 最簡單的描述。您應該在這裏放置所有應該適用於多篇文章的方法,特別是在SQL表中的數據。例如:按日期對文章進行排序的方法,或者按作者等過濾文章的方法。

  2. 資源模型(類Yaroslav_Blog_Model_Resource_Article) 這個模型的工作單條的SQL數據。例如,檢查文章url鍵是唯一的或類似的方法。任何與SQL級別的數據一起工作的東西。

  3. 主要模式(類Yaroslav_Blog_Model_Article)。簡而言之,你把所有其他東西放在這裏。這個模型是抽象的最高層,它的職責是商業邏輯。你寫了一個方法,它會生成帶有文章的RSS提要?它的位置在這裏(或者在控制器中)。一種寫本文的讀者的某種日誌的方法?又是在這裏。

所以,簡單地說:除非您正在使用SQL查詢工作直接,把你方法的主力機型。我希望這是有道理的。

相關問題