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 用于向系统注册应用中的服务