2012-10-03 37 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查询工作直接,把你方法的主力机型。我希望这是有道理的。