Ecstore中的App不是手机上的App,它是一个Web应用包,集合了Web应用的后端PHP程序、Mysql数据表定义,以及前端HTML+CSS+JS展现,通常是实现某个业务功能,如购物车、促销、支付接口等。
打开EcStore的文件目录 ,在app目录下存放了系统中所有的App应用,主要分为三种类型:
1、底层App
底层App主要指base应用,它是Ecstore中的内核(kernel),提供了系统基础的数据库访问、App和Service管理、缓存管理,基本的MVC实现等,base还提供了App的安装和卸载。
2、支持层App
支持层App有电商通用组件EcTools、前台站点Site、后台管理Desktop、角色权限PAM、数据库动态扩展DBEav等,业务层App可以方便的引用这些基础支持功能,从而专注于开发业务功能,不用操心底层功能实现。
3、业务层App
业务层App就是通常我们开发的业务功能App ,EcStore中最重要的就是B2c应用,它实现了网店系统中最重要的商品、会员、订单等重要的功能部件。
一个业务层App的典型结构:
controller
—admin 后台管理控制器
—site 前台PC端控制器
—wap 前台Wap端控制器
dbschema
—table1.php 数据表定义
lib
—lib1.php 通用类库
model
—table1.php 表模型定义
statics 存放静态资源文件:图片、样式表、JS等
—images 静态图片文件
—css 静态css文件
view
—admin 后台管理视图文件
—site 前台PC端视图文件
—wap 前台Wap端视图文件
app.xml 应用定义
desktop.xml 后台管理菜单、权限等定义
service.xml 服务注册
site.xml 前台PC端可访问模块定义
wap.xml 前台Wap端可访问模块定义
来看一个starbuy团购促销应用中app.xml的定义内容
最重要的就是定义了应用名称name,依赖的其它应用depends,我们可以在EcStore的后台管理/应用中心中看到应用的名称和介绍,进行安装和卸载。desktop.xml定义了应用的后台管理菜单组menugroup、菜单项menu、权限permission
安装此应用后,在后台/促销/组合促销中,可以打开应用的管理功能界面。site.xml 定义了pc端前台可访问资源special等
service.xml 用于向系统注册应用中的服务