欢迎来到天天文库
浏览记录
ID:13248442
大小:1.33 MB
页数:25页
时间:2018-07-21
《ecmall 2.x 架构分析与技术指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ECMall2.X架构分析与技术指南ECMall2.X架构分析与技术指南一、系统架构分析:根据文件目录结构分析得到ECMall为MVC系统架构。控制器(Controllers)分析:在ECMall中分2种控制器,FrontendApp(前端)和BackendApp(后端),我们可以依据基础控制器创建自己的控制器。控制器文件的命名规则:类名(首字母大写)+.app+.php;文件位置:一般放置在相应的app目录中;类名规则:类名+App访问规则:/index.php?app=控制器类&act=方法¶m=…注意:第一个控制
2、器,必须拥有自己的语言文件,如MallBaseApp的子类语言文件位于languagessc-gbk下,而模块Module类的语言文件则位于模块的文件夹中,即使语言文件中仅有returnarray()的空数组。若没有相应的语言文件,程序将会报错。现在我们试着写一个自己的控制器:
3、nvoid*/Functionindex(){Echo__METHOD__;}-25-ECMall2.X架构分析与技术指南/***Goods方法对应Goods模型*@returnvoid*/functiongoods(){//实例化goods$goods=m(‘goods’);$id=empty($_GET[‘id’])?0:intval($_GET[‘id’]);if(!$id){echo“Warning!Hacking!”;return;}//获取goods信息$goods_info=$goods->get_info($i
4、d);//输出goods信息$result=print_r($goods_info);}//此处的test自定义模型将在下面讲述,暂时略过;functiontest(){$test=m(‘test’);$data=array(‘name’=>’建航’,”name2”=>”科技”);//name,name2对应表字段$test->addData($data);}}测试访问:/index.php?app=demo1&goods&id=3模型(Model)分析:ECMall模型分为业务模型与普通模型,二者皆继承自核心类的BaseMo
5、del模型;模型、插件的继承关系-25-ECMall2.X架构分析与技术指南模型:可以理解为数据实体类,对应数据库表字段,一个实体表示一张表,每个实例为一行记录。ECMall的大部分模型与表有对应关系,仅业务模型没有表联系(操作业务如CRUD)。创建自己的模型:模型文件的命名规则:类名(首字母大写)+.model+.php;文件位置:一般放置在相应的/includes/models目录中;类名规则:类名+Model调用规则:可能选用控制器对应模型的多入口方式,也可以选用控制器对应模型的单入口方式。首先建立一张表Test(id,
6、name,name2);编写test.model.php,代码如下:
7、在与否并不重要。只有类似于我们需要得到模型名称时,才会将$_name进行实现,例如:functiongetName(){return$this->_name;}。*//***增加数据演示*@authorkichijyo;*@returnvoid*/functionaddData($data){$this->add($data);//该处的add()继承自BaseModel类}}测试访问:/index.php?app=demo1&act=test下面我们试着建一对主、从表的模型关系:首先我们建2张表,一个是ecm_test从来(
8、id,stu_id相对于ecm_test2表的外键,name),另一个为ecm_test2主表(stu_id相对于ecm_test2的主键,score)。根据约束,先删除从表,方可继续删除主表。对照这两张表开始建立模型,分别为:TestModel,Test2Model两个类:
此文档下载收益归作者所有