一、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创建一个模块的一般开发流程是:

    1. 创建数据库和数据表;(没有数据库操作可略过)
    2. 创建模块目录
    3. 创建模块控制器类;
    4. 创建模块类与模块函数;(如果只是简单的模块可以不必创建)
    5. 创建模板文件;
    6. 运行和调试。

EcTouch二次开发的更多相关文章

  1. Navisworks API 简单二次开发 (自定义工具条)

    在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...

  2. [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用

    目       录 第十二章     二次开发及应用... 2 12.1        项目配制... 3 12.2        引用相关组件... 4 12.3        构建主程序... 5 ...

  3. OBS-Studio二次开发记录

    OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...

  4. 小猪cms微信二次开发之怎样分页

    $db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...

  5. 承接 AutoCAD 二次开发 项目

    本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...

  6. 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...

  7. 【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程

    1.1    二次开发流程图 1.2    引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3    开发设备驱动模块 1.3.1    开发发送协议驱动 继承SuperIO.Devi ...

  8. Civil 3D API二次开发学习指南

    Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开 ...

  9. visio二次开发——图纸解析之线段

    多写博客,其实还是蛮好的习惯的,当初大学的时候导师就叫我写,但是就是懒,大学的时候,谁不是魔兽或者LOL呢,是吧,哈哈哈. 好了,接着上一篇visio二次开发——图纸解析,我继续写. 摘要: (转发请 ...

随机推荐

  1. mk文件剖析

    一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个 ...

  2. angular js 实例参数学习

    <!DOCTYPE html> <html> <head> <meta name="description" content=" ...

  3. Squid故障

    1.COSS will not function without large file support (off_t is 4 bytes long. Please reconsider recomp ...

  4. 【<td>】使<td>标签内容居上

    <td>有一个叫valign的属性,规定单元格内容的垂直排列方式.有top.middle.bottom.baseline这四个值. 所以,让TD中的内容都居上的实现方法是: <td ...

  5. Delphi 函数参数修饰中的var 、out和const

      (1)var修饰符 添加var 是地址传递,会修改原有的变量 var s: string; begin S := 'Hello'; ChangeSVar(s); ShowMessage(S); e ...

  6. 理清javascript的相关概念 DOM和BOM

    javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异.JavaScript=语法+BOM(含DOM) ...

  7. group by调优的一些测试

    表结构信息: mysql> show create table tb\G*************************** 1. row ************************** ...

  8. xml-xml试题

    ylbtech-doc:xml-xml试题 xml试题 1.A,xml试题返回顶部 01.{XML题目}关于XML声明正确的是.(选择1项) A)<!xml version=”1.0”!> ...

  9. excel 经验总结

    1.2007版excel表格中怎么将使用字母+数字下拉排序 比如:A201110300001怎么在excel表格中往下拉的时候变成A201110300002.A201110300003…… 方法: 因 ...

  10. codeforces 260 div2 B题

    打表发现规律,对4取模为0的结果为4,否则为0,因此只需要判断输入的数据是不是被4整出即可,数据最大可能是100000位的整数,判断能否被4整出不能直接去判断,只需要判断最后两位(如果有)或一位能否被 ...