文档章节

学习ectouch之文件结构

墨梅
 墨梅
发布于 2015/06/04 16:39
字数 1152
阅读 5787
收藏 2

  相信大家在ectouch官网都注意到了,ectouch采用的MVC框架,之前一直以为它用的和ecshop一样都是smarty,本鸟默默按照smarty的文件结构研究了好几天,结果是各种文件对不上号。无奈之下问了度娘才明白我的思考从一开始就是个错误(妹的,这么简单的错误,我竟真的如此认真地研究了好几天,也是醉了,大家平时还是多与度娘沟通,别和我一样遇到个问题就坐在那里想。。。)。说的够多了,该正题了。

  先说一下MVC结构,相信大家能在网上找到不少这方面的资料,这里就ectouch的文件简单总结下。

  模块(The Model): 即M

  主要包含那些用来操作数据库的函数 文件后缀一般是***Model.class.php 路径一般是../mobile/include/apps/default/model/

  控制器(The Controller):即C

  控制器是所有WEB应用的第一站,它接受收到的参数,比如$_GET变量,然后做出相应的反应。主要包含处理用户各种操作的函数 文件后缀一般是***Controller.class.php 路径一般是../mobile/include/apps/default/controller/

  视图(The View):即V

  一说到视图,我们很多人都会想到模板引擎(诸如Smarty等等)。其实就是各种各样的输出,比如说html模板和Javascript文件等。模板路径一般是../mobile/themes/default/

  目录结构

  根目录
  |  –  admin 默认后台管理目录(可任意改名)
  |  –  data 静态资源和系统缓存、配置项目录(必须可写入)

       |  – assets 静态资源目录       

       |  – attached 附件目录

       |  – cache缓存目录
 
       |  – common 公共静态文件目录 
  |  –  include 核心程序目录       

       |  – apps 主程序
            |  – admin 后台模块

            |  – install 安装模块

            |  – default 前台默认模块
                 |  – common 公共方法

                 |  – controller 控制器

                 |  – language 语言包

                 |  – model  模型 
       |  – base 基础程序       

       |  – driver驱动程序       

       |  – library 主类库       

       |  – vendor 第三方扩展类

  |  –  plugins 插件程序目录       

       |  – connect授权登录       

       |  – wechat 微信
       |  – integrates 第三方用户整合
       |  – payment 支付方式 

       |  – shipping 配送方式

  |  –  themes系统默认模板目录

  url结构

  ECTouch是采用个MVC设计模式开发,基于模块和操作的方式进行访问,并且使用单一入口模式进行项目部署和访问,任何功能和模块的访问,只有通过此入口文件。

 模块访问方法[示例]:  index.php?m=default&c=category&a=index&id=2

  其中 
  m = default 为模块名称位于include/apps/ 

  c = category 为控制器名称位于include/apps/default/controller/IndexController.class.php 

  a = index 控制器访问方法名称 位于include/apps/default/controller/IndexController.class.php 中index()方法 

  id = 2 为其他参数 与正常get传递参数形式相同 
模块和操作方法 
  ECTouch中的模块,位于include/apps/目录中 每一个目录称之为一个模块。即url访问中的m [示例]: 

  index.php?m=default&c=index 
  那么您访问的就是ECTouch/include/apps/default这个模块。 
  如果创建一个前台模块,只要在 include/apps/default 目录下创建:模块名称+Model.class.php  
控制器 
  控制器就是模块文件下面controller下的类文件,位于include/apps/模块/controller/下面。

  命名规则为:文件名+Controller.class.php,文件名开头字母大写,例如一个名为test的控制器,那么他的命名为TestController.class.php即可。控制器类的类名称与控制器文件名必须相同。 
  如果您创建了一个TestController.class.php在default模块下,那么我们在浏览器里面输入URL: 
http://localhost/ectouch/mobile/index.php?m=default&c=test 即可访问到相应控制器

  如果你添加的控制器类继承了其他的类,那么要注意你类中的方法名称不能和父类的方法名称重复,否则会覆盖原有的或者出现程序运行错误。

  例如default模块的类继承了CommonController类,而这个类中定义了view方法,那么就不能再重复定义这个方法了。 
命名规范 
  规范如下:   
  核心程序目录(includes)的类文件需要以.class.php 为后缀名称,开头第一个字母大写。例如:IndexModel.class.php  
  控制器和模型中的类名和文件名一致,例如IndexModel.class.php的类名为:IndexModel 

 

 

 

© 著作权归作者所有

墨梅
粉丝 16
博文 218
码字总数 43367
作品 0
杭州
后端工程师
私信 提问
手机商城系统--ectouch

ECTouch Community Edition (GPL),ECTouch是一款永久免费开源的手机商城系统,采用标准HTML5+CSS3研发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。——查...

Reinx
2016/01/05
10.5K
4
ectouch/ectouch

ECTouch 产品使用说明 ECTouch简介 ECTouch是上海商创网络科技有限公司推出的一款开源免费移动商城网店系统,可以在手机上面卖商品的电子商务软件系统。能够帮助企业和个人快速构建手机移动商...

ectouch
2014/09/19
0
0
Docker 基于 php:7.2-apache 搭建 ECTouch 网站,及 mysqli 扩展开启方法

下载源码 https://www.ectouch.cn/ 下载 解压至主机文件夹:/var/www/ectouch docker 构建 php:7.2-apache 容器 docker run -d -p 8882:80 --name ectouch --link mysql:mysql -v /var/www/e......

白又白
2018/09/29
31
0
ecshop, Ectouch电子商务平台兼容PHP5.6.X完整包.

ecshop编译更新日志: 1: 加入最新官方补丁. 2: 修改数据库连接底层为mysqli, 现在完美无缺了. 3: 再次对所有代码进行细节修复. 4: adminers更新至1.1.2, 在线管理数据库的神器. 4: 测试过程中...

Tuesday
2015/11/10
0
0
如何在ecshop和ectouch中开启调试模式

在针对ecshop或ectouch的二次开发中开启调试模式可以大大增加开发效率,开启方法如下: 1、ectouch中开启调试模式 在mobileincludeConvention.php中找到'DEBUG'=> false,修改为'DEBUG'=> tru......

豆花饭烧土豆
2016/04/02
198
0

没有更多内容

加载失败,请刷新页面

加载更多

JS基础-该如何理解原型、原型链?

JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个...

OBKoro1
今天
6
0
高防CDN的出现是为了解决网站的哪些问题?

高防CDN是为了更好的服务网络而出现的,是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路,再反馈给用户,可以减轻用户使用过程的复杂程度。通过智能DNS解析,能让网站访问者连接到...

云漫网络Ruan
今天
14
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
2.7K
24
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
46
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部