一、EcTouch简介
1.1、 什么是ECTOUCH
ECTouch是上海商创网络科技有限公司推出的一款开源免费移动商城网店系统,可以在手机上面卖商品的电子商务软件系统。能够帮助企业和个人快速构建手机移动商城并减少二次开发带来的成本。
1.2、基于MVC框架开发
采用稳定的MVC框架开发,执行效率、扩展性、稳定性值得信赖。MVC是一种将应用程序的逻辑层和表现层进行分离的方法。MVC分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
1.3、最新国际标准语言研发
前端采用最新的国际标准HTML5+CSS3,在HTML5平台上,视频,音频,图象,动画,以及同设备的交互都被标准化,各个平台都正在完善对这一标准的支持,基于HTML5标准的一次开发,可以轻松的部署到各个平台,大大提高开发效率。
服务器端依然采用php脚本,学过tp的人大概一眼能看出ectouch使用tp开发的。
官方下载地址: http://www.ectouch.cn/
1.二次开发
2.1 入门基础
2.1.1服务器要求
1.Windows 平台:
IIS/Apache/Nginx + PHP + MySQL5
2.Linux/Unix 平台
Apache/Nginx + PHP+ MySQL5 (PHP必须在非安全模式下运行)
建议使用平台:Linux + Apache2.2 + PHP5.2/PHP5.3 + MySQL5.0
3.PHP必须环境或启用的系统函数:
curl
allow_url_fopen
GD扩展库
MySQL扩展库
系统函数 —— phpinfo、dir
2.1.2模型-视图-控制器(MVC)
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。
2.2 结构设计
2.2.1文件目录结构
根目录
| – 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系统默认模板目录
2.2.2 url访问
ECTouch是采用个MVC设计模式开发,基于模块和操作的方式进行访问,并且使用单一入口模式进行项目部署和访问,任何功能和模块的访问,只有通过此入口文件。
参数名称 |
描述 |
位置 |
备注 |
m |
模型/模块名称 |
include/apps/中模块目录名称 |
必须 |
c |
控制器名称 |
include/apps/模块/controller/*.php 文件名称 |
必须 |
a |
事件名称 |
include/apps/模块/controller/*.php中方法名称 |
模块访问方法[示例]:
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传递参数形式相同
2.2.3模块和操作方法
ECTouch中的模块,位于include/apps/目录中 每一个目录称之为一个模块。即url访问中的m
[示例]:
index.php?m=default&c=index
那么您访问的就是ECTouch/include/apps/default这个模块。
如果创建一个前台模块,只要在 include/apps/default 目录下创建:模块名称+Model.class.php
2.2.4 控制器
ECTouch的控制器就是模块文件下面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方法,那么就不能再重复定义这个方法了。
2.2.5 命名规范
使用ECTouch做二次开发,应该遵循其开发规范。规范如下:
核心程序目录(includes)的类文件需要以.class.php 为后缀名称,开头第一个字母大写。例如:IndexModel.class.php
控制器和模型中的类名和文件名一致,例如IndexModel.class.php的类名为:IndexModel
2.2.8 配置文件调用
网店配置文件在 data/ache/static_caches/touch_shop_config.php,在BaseMode.class.php中通过load_config 方法调用
连接数据库配置文件在:data/fonfig.php
return array(
'DB_TYPE' => 'mysql',
'DB_HOST' => 'ocalhost',
'DB_NAME' => 'ectouch,
'DB_USER' => 'root',
'DB_PWD' => 'root123',
'DB_PORT' => '3306',
'DB_PREFIX' => 'ecs_',
'DB_CHARSET' => 'utf8'
);
2.2.9 二次开发技巧
对已经存在的控制器开发,对数据库的操作需要放在模型文件 =model中,在控制器使用时只需调用model(‘模型名称’)->调用方法(),例如调用CommonModel模型中的get_navigator 方法,可以这样调用:model('Common')->get_navigator()
2.3 构建模块
2.3.1开发流程
为ECTouch创建一个模块的一般开发流程是:
- 创建数据库和数据表;(没有数据库操作可略过)
- 创建模块目录
- 创建模块控制器类;
- 创建模块类与模块函数;(如果只是简单的模块可以不必创建)
- 创建模板文件;
- 运行和调试。
EcTouch二次开发的更多相关文章
-
Navisworks API 简单二次开发 (自定义工具条)
在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...
-
[连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用
目 录 第十二章 二次开发及应用... 2 12.1 项目配制... 3 12.2 引用相关组件... 4 12.3 构建主程序... 5 ...
-
OBS-Studio二次开发记录
OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...
-
小猪cms微信二次开发之怎样分页
$db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...
-
承接 AutoCAD 二次开发 项目
本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...
-
【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...
-
【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程
1.1 二次开发流程图 1.2 引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3 开发设备驱动模块 1.3.1 开发发送协议驱动 继承SuperIO.Devi ...
-
Civil 3D API二次开发学习指南
Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开 ...
-
visio二次开发——图纸解析之线段
多写博客,其实还是蛮好的习惯的,当初大学的时候导师就叫我写,但是就是懒,大学的时候,谁不是魔兽或者LOL呢,是吧,哈哈哈. 好了,接着上一篇visio二次开发——图纸解析,我继续写. 摘要: (转发请 ...
随机推荐
-
Git教程推荐
推荐:廖雪峰的官方网站-Git教程,面向初学者,浅显易懂.
-
什么是IntelAMT
IntelAMT 全称为INTEL主动管理技术,该技术允许IT经理们远程管理和修复联网的计算机系统,而且实施过程是对于服务对象完全透明的,从而节省了用户的时间和计 算机维护成本.释放出来的iAMT构架 ...
-
Codeforces Beta Round #75 (Div. 1 Only) B. Queue 线段树+二分
B. Queue Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 codeforces.com/problemset/problem/91/B Descrip ...
-
特定用户QQ群聊天记录导出的实现
一.把QQ群的聊天记录txt格式导出 消息管理器 -> 选择要导出的群 -> 右击.导出 这里要注意 : 导出之后的 文本是 unicode 编码的,需要转换 ==|| 之前不知道,搞 ...
-
HW3.10
public class Solution { public static void main(String[] args) { int number1 = (int)(Math.random() * ...
-
POJSorting It All Out (拓扑)
题目链接. 题目大意: 给定一定的数量的小于关系: 1.如果发现环,输出从前几次就可以确定出现环 2.如果能够确定唯一序列,输出. 3.如果通过全部关系,还不能确定序列,则输出不能确定. 分析: 个人 ...
-
在CentOS6上编译安装实现LAMP(php-modules)+phpMyAdmin安装过程全记录
php与apache协作有三种模式:CGI.modules.FastCGI. 在CGI模式下,用户请求php文件时,apache会启动响应进程,调用php处理器处理请求,然后将结果返回给客户端.用户响 ...
-
ROS启动多launch文件
在ROS工程中经常需要启动好几个launch文件,比较不方便,有下面两种方法可以更高效些: 重写一个大型的launch文件,将所有的节点的启动配置信息都包含进去. 通过bash写一个xxx.sh文件, ...
-
VS 2017常用快捷键
VS 2017常用快捷键 1.查找和替换 1)查找:使用组合键“Ctrl+F”: 2)替换:使用组合键“Ctrl+H”. (批量更改函数名的神器!) 2.复制/剪切/删除整行代码 1)如果你想复制一整 ...
-
基于vue的实战步骤
1.脚手架vue-cli安装 npm install -g vue-cli (npm init -f 生成package.json文件) vue init webpack myapp cd myapp ...