[纯属转载]ECmall源码简略分析二(数据库关系模型的实现)
2016-07-07 16:47 来源:www.chinab4c.com 作者:ecshop专家
对于数据库关系模型的分析,我觉得需要从两个函数说起:
所谓模型,则是一个一个的数据实体,换句话说就是一个数据表,你可以基于这个模 型,调用model.base.php中的数据库操作函数来对数据进行增、删、改、查的操作。 这里的业务模型,是在实体模型基础上,再继承一次,然后对一些方法进行重写。 系统中只有三个实体有业务模型: 推荐类型 recommend;商品数据模型 goods;商品分类业务模型 gcategory; 具体操作例子:
这里需要解释一下对于数据模型的操作是怎样的一个函数调用过程: 首先:$model_goods = &m('goods'); 我们看一下&m()函数的代码,其中var_export()函数则是将传进来的实体,返回相应的实体类对象,因为所有的model都继承至model.base.php中的BaseModel类,这个类中定义了基本所有的操作函数,因此$model_goods对象可以对数据库进行相应的操作。 而我们再看看goods.model.php中的GoodsModel的代码:
|
回答:
这里贴出了实体goods模型类中的内容,先是表格的属性,再就是goods与其它实体之间的关联关系的定义。然后我们再看看这个函数,它是BaseModel构造函数里调用的方法,对对象中的基础变量进行初使化:
到这里,读者就可以知道,如果在上面进行二次开发的话,怎样进行数据库操作就已经很明确的了。 在BaseModel与cls_mysql(mysql.php)中,有很多的有关数据操作的函数,这里就不需要再一一进行解释了,而在cls_mysql中,有一些更基础的操作函数,还有仿真 Adodb 的函数,可以直接跳过BaseModel中的函数 以上介绍了如何在ecmall的平台上进行数据库操作,如果操作更加的复杂,这里还有一种更加直接的方法:
还可以在BaseModel中定义自己的操作方法,其中可以使用$this->db->(cls_mysql中定义的方法) 来调用cls_mysql中的函数,从而可以添加更加复杂的数据操作函数。 好了,数据操作分析就这些了,有不对之处,还请拍砖! |
定下下,! |
不错,好东西,原文在哪里? |
个人也研究过一下,就是结构太复杂,分析不知道怎么下手整理的思路比较清晰。建议做个研究群,让大家有空可以探讨交流学习下 |
恩,正打算做,千头万绪感觉 |
说的很不错 |
不错,不错!希望有更多的参考资料! |
ec的程序员也不发一些原创出来,一个产品好,更要有活跃的社区和文档支持 |
收下了 正需要呢 谢谢 |
加精,以后研究。 |
好东西,值得学习参考 |
楼主的心意收下了 |
牛人,你家哪的,歌谣飞奔过去,跟你混 哥来的是淘宝指定的减肥产品选购效果最好的减肥药 |
写得很好! |
最近更新
常用插件
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop使用手机验证码登陆
ecshop使用手机验证码登陆,这个功能很新颖,有些特殊的ecshop站点,他到...
- ecshop 手机注册验证插件
ecshop 手机注册验证插件 ,需要通过手机获短信,然后注册验证 价格:...
- ecshop中nginx实现url的重写
上几章为了让ecshop很好的在nginx上运行。我们搭配了ecshop的nginx下的工作...
- ecshop根据订单批量发红包
ecshop根据订单批量发红包 ,大家肯定对ecshop红包不陌生,但是对ecshop订...
ecshop热门问答
ecshop热门资料
ecshoppem
ecshop启动盘
session
ecshop双引号
ecshop单价
ecshoplink
ecshop兼容火狐浏览器
ecshop手机APP
ecshopbridge
ecshopopen
ecshop批量导入导出
ecshop首页错误
ecshop显示商品数量
ecshop回头路
ecshop备份数据
ecshop老杨
ecshop扫描
ecshop买一送一
ecshop太空
ecshop关键词
ecshop总价
ecshopBBS
ecshop绿色盒子
ecshop建设
ecshop农行
ecshop网站域名
ecshop烦请
ecshop咨询台
ecmall插件
ecshop热卖商品