对于任何 的MVC 框架 , 你应该找一个 在 模型 定义 的地方 ,以及 一些“ 资源模型 “的形式. In Magento,在model家庭里面有3个成员,分别是:
The Model, the Resource Model, and the Collection Model.当我们需要它的时候,这3个成员 相互工作给我们想要的数据。
在之前 我们已经讨论了 创建模型 , 我们会 进入一个 对 资源模型 和集合 模型。
As I see it:
一个 “模型” 是用来 存储数据 ,也许 对 这些数据 进行一些 业务逻辑 。
“资源 模型 “是用来 互动的 对 “模式”的 代表 数据库( 持久性 数据 或者 其他形式) 。 “资源 模式“ 是一个 实际执行 的 CRUD操作。
一个 “collection 模式“ 持有 1对多 “模式” ,并且知道 如何 基于 行的 “资源 模型“ 来获取 其他更多相关的 信息 群。
下面, 我 试图说明 它们是如何 都 连在一起:
正如 在 Magento的 大多数事情一样, 这 整个事情 开始于 config.xml中。 正是在 这里, 我们定义 在哪里找 我们的模型 , 资源模型 , 我们的资源 和 哪些表 型 间相互作用。 这里是 config.xml中 定义 的 这些事情 的一个片段:
<
global
>
<
models
>
<
awesome
>
<
class
>
Yt
_Awesome_Model</
class
>
<
resourceModel
>awesome_mysql4</
resourceModel
>
</
awesome
>
<
core
>
<
rewrite
>
<
translate
>
Yt
_Awesome_Model_Translate</
translate
>
</
rewrite
>
</
core
>
<
awesome_mysql4
>
<
class
>
Yt
_Awesome_Model_Mysql4</
class
>
<
entities
>
<
example
>
<
table
>
Yt
_awesome_example</
table
>
</
example
>
</
entities
>
</
awesome_mysql4
>
</
models
>
<
resources
>
<
awesome_setup
>
<
setup
>
<
module
>
Yt
_Awesome</
module
>
</
setup
>
<
connection
>
<
use
>core_setup</
use
>
</
connection
>
</
awesome_setup
>
<
awesome_write
>
<
connection
>
<
use
>core_write</
use
>
</
connection
>
</
awesome_write
>
<
awesome_read
>
<
connection
>
<
use
>core_read</
use
>
</
connection
>
</
awesome_read
>
</
resources
>
</
global
>
Yt
|_ Awesome
|_Model
|_Mysql4
| |_Example
| | |_Collection.php (Yt_Awesome_Model_Mysql4_Example_Collection)
| |_Example.php (Yt_Awesome_Model_Mysql4_Example)
|_Example.php (Yt_Awesome_Model_Example)
Yt_Awesome_Model_Example is the "model"
Yt_Awesome_Model_Mysql4_Example is the "resource model"
Yt_Awesome_Model_Mysql4_Example_Collection is the "collection model"
未完待续.......