Solar Model的文件结构

我们以Model:Users来讨论下Solar的Model文件结构,与模型Users相关的文件如下:

/Admin/Model/Users.php
/Admin/Model/Users/Metadata.php
/Admin/Model/Users/Record.php
/Admin/Model/Users/Collection.php
/Admin/Model/Users/Locale/en_US.php
  • /Admin/Model/Users.php 类:Admin_Model_Articles [extends] Admin_Sql_Model,在此可以添加Filter或与其它模型的关系。
  • /Admin/Model/Users/Metadata.php 类:Admin_Model_Articles_Metadata [extends] Admin_Sql_Model_Metadata,该类存放了数据表users各字段的属性。
  • /Admin/Model/Users/Record.php 类:Admin_Model_Articles_Record [extends] Admin_Sql_Model_Record。
  • /Admin/Model/Users/Collection.php 类:Admin_Model_Articles_Collection [extends] Admin_Sql_Model_Collection。
  • /Admin/Model/Users/Locale/en_US.php 各字段的本地化字符,相应的字段名前加LABEL_ 构成本地字符串的键,这主要为模型生成的表单转换标签label有用。

在/Admin/Sql/目录下有如下文件:

/Admin/Sql/Model.php
/Admin/Sql/Model/Metadata.php
/Admin/Sql/Model/Record.php
/Admin/Sql/Model/Collection.php
  • Admin/Sql/Model.php 类:Admin_Sql_Model [extends] Solar_Sql_Model
  • Admin/Sql/Model/Metadata.php 类:Admin_Sql_Model_Metadata [extends] Solar_Sql_Model_Metadata
  • Admin/Sql/Model/Record.php 类:Admin_Sql_Model_Record [extends] Solar_Sql_Model_Record
  • Admin/Sql/Model/Collection.php 类:Admin_Sql_Model_Collection [extends] Solar_Sql_Model_Collection

各类都是简单的继承了Solar的类,为Admin的模型继承Solar模型做了一个桥梁作用。

又因为:

  • Solar_Sql_Model_Record [extends] Solar_Struct
  • Solar_Sql_Model_Collection [extends] Solar_Struct

由上,所以:

  • Admin_Model_Articles [extends] Solar_Sql_Model
  • Admin_Model_Articles_Metadata [extends] Solar_Sql_Model_Metadata
  • Admin_Model_Articles_Record [extends] Solar_Sql_Model_Record [extends] Solar_Struct
  • Admin_Model_Articels_Collection [extends] Solar_Sql_Model_Collection [extends] Solar_Struct

因为$item = $this->_model->fetch() 语句返回的是Admin_Model_Articles_Record 的对象,而又该类继承自Solar_Struct ,而Solar_Strutc 实现了对象与数组的混合使用,所以在View文件中我们使用$item->id与$item['id'] 结果相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值