ShopWind开源电商系统 - 文件目录结构

shopwind 更新于 二次开发 2023-03-20 19:44:47

本章节主要是介绍,ShopWind源代码的目录结构,以及每个目录代表的含义,便于开发者从整体上把握如何更好的进行程序拓展开发

一、ShopWind v3.x程序目录结构
├─shopwind------------------------------------------应用目录
│  ├─apiserver-------------------------------------API接口服务模块
│  │  ├─config------------------------------------配置文件
│  │  ├─controllers-------------------------------模块控制器
│  │  ├─languages---------------------------------语言包
│  │  ├─library-----------------------------------模块类库
│  │  │  ├─Formatter.php-------------------------数据格式化类
│  │  │  ├─Respond.php---------------------------数据输入输出类
│  │  │  └─Signature.php-------------------------数据验证签名类
│  │  ├─models------------------------------------业务层
│  │  ├─runtime-----------------------------------应用运行缓存文件
│  │  └─web---------------------------------------Web部署目录(对外访问目录)
│  │      └─index.php-----------------------------API入口文件
│  ├─backend---------------------------------------后台模块
│  │  ├─config------------------------------------配置文件
│  │  ├─controllers-------------------------------模块控制器
│  │  ├─languages---------------------------------语言包
│  │  ├─library-----------------------------------模块类库
│  │  ├─models------------------------------------业务层
│  │  ├─runtime-----------------------------------应用运行缓存文件
│  │  └─web---------------------------------------Web部署目录(对外访问目录)
│  │      └─assets--------------------------------静态资源发布目录
│  │      └─templates-----------------------------模板(视图)文件目录
│  │      └─index.php-----------------------------后台入口文件
│  ├─common----------------------------------------公共文件目录
│  │  ├─actions-----------------------------------公共动作目录
│  │  ├─bussiness---------------------------------业务逻辑层
│  │  ├─components--------------------------------公共组件类库
│  │  ├─config------------------------------------全局配置文件
│  │  ├─controllers-------------------------------控制器父类
│  │  ├─install-----------------------------------安装程序类
│  │  ├─library-----------------------------------公共逻辑层
│  │  ├─mail--------------------------------------邮件发送类
│  │  ├─models------------------------------------数据库模型类
│  │  ├─plugins-----------------------------------公共插件类库
│  │  │  ├─connect-------------------------------第三方登录插件目录
│  │  │  │  ├─qq--------------------------------qq登录插件
│  │  │  │  ├─alipay----------------------------支付宝登录插件
│  │  │  │  ├─weixin----------------------------微信登录插件
│  │  │  │  └─xwb-------------------------------新浪微博登录插件
│  │  │  ├─express-------------------------------快递跟踪插件目录
│  │  │  ├─oss-----------------------------------对象存储插件目录
│  │  │  ├─payment-------------------------------支付插件目录
│  │  │  │  ├─alipay----------------------------支付宝PC支付插件
│  │  │  │  ├─alipay_app------------------------支付宝APP支付插件
│  │  │  │  ├─alipay_wap------------------------支付宝手机支付插件
│  │  │  │  ├─wxpay-----------------------------微信公众号支付插件
│  │  │  │  ├─wxapppay--------------------------微信APP支付插件
│  │  │  │  ├─wxnativepay-----------------------微信扫码支付插件
│  │  │  │  ├─wxmppay---------------------------微信小程序支付插件
│  │  │  │  ├─wxh5pay---------------------------微信H5端支付插件
│  │  │  │  ├─unionpay--------------------------中国银联支付插件
│  │  │  │  └─deposit---------------------------站内余额支付插件
│  │  │  ├─sms-----------------------------------短信插件目录
│  │  │  └─BasePlugin.php------------------------插件基类 
│  │  └─widgets-----------------------------------小部件类库
│  ├─console---------------------------------------控制台目录
│  │  ├─config------------------------------------配置文件
│  │  └─controllers-------------------------------模块控制器
│  ├─frontend--------------------------------------前台(PC)模块
│  │  ├─config------------------------------------配置文件
│  │  ├─controllers-------------------------------模块控制器
│  │  ├─languages---------------------------------语言包
│  │  ├─library-----------------------------------模块类库
│  │  ├─models------------------------------------业务层
│  │  ├─resource----------------------------------资源目录
│  │  ├─runtime-----------------------------------应用运行缓存文件
│  │  ├─widgets-----------------------------------PC端小挂件目录
│  │  └─web---------------------------------------Web部署目录(对外访问目录)
│  │      └─assets--------------------------------静态资源发布目录
│  │      └─install-------------------------------程序安装目录(入口)
│  │      └─templates-----------------------------模板(视图)文件目录
│  │      └─index.php-----------------------------前台(PC)入口文件
│  ├─mobile----------------------------------------前台H5/WAP模块
│  │  ├─config------------------------------------配置文件
│  │  ├─controllers-------------------------------模块控制器
│  │  ├─languages---------------------------------语言包
│  │  ├─models------------------------------------业务层
│  │  ├─runtime-----------------------------------应用运行缓存文件
│  │  ├─widgets-----------------------------------H5端小挂件目录
│  │  └─web---------------------------------------Web部署目录(对外访问目录)
│  │      └─assets--------------------------------静态资源发布目录
│  │      └─templates-----------------------------模板(视图)文件目录
│  │      └─index.php-----------------------------前台(H5)入口文件
├─composer.json-------------------------------------Composer配置文件  
├─vendor--------------------------------------------第三方类库目录 

该目录结构已经包含了主要的文件夹或文件,但由于文件太多,部分目录下的文件夹/文件并未全部列明,具体明细应参考实际程序包。

二、目录解读

1、根目录下的目录如:apiserver、frontend、backend、mobile 我们称之为应用或站点,每个应用(站点)都包含自己的一套MVC结构,可以解析不同的域名来访问。但请不要把域名直接解析到应用目录,而应该是解析到应用目录下的web目录,只有该目录才是允许对外访问的,以确保应用(站点)的安全。

2、根目录下的目录common是公共文件目录,所有应用(站点)的公共文件都可以放在此目录,方便重复调用。

3、每个应用(站点)下的配置文件,即config目录,是应用的配置文件,主要是配置:路由、控制器路径、视图、Session、组件等,并非数据库连接配置文件,我们的数据库配置文件是:@shopwind/frontend/web/data/config.php,所有应用都是 公用该配置文件,即便是多数据库,也是写在该配置文件中。

三、入口文件

入口文件也叫入口脚本,入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。 终端用户的请求通过入口脚本实例化应用并将请求转发到应用。 Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php。以下例子就是各个Web应用的入口文件路径:

//前台PC端入口文件
@shopwind/frontend/web/index.php
//后台入口文件
@shopwind/backend/web/index.php
//H5/WAP入口文件
@shopwind/mobile/web/index.php
//API接口入口文件
@shopwind/apiserver/web/index.php
最后编辑于 2023-03-20 19:44:47
0 1649
Re :

shopwind 这家伙什么都没留下

  • 回答

    100
  • 发布

    101
  • 经验

    6430

内容精选

联系我们

  • 微信官网

    关注公众号

    系统更新,推送提醒
  • 开发交流群

    技术交流Q群

    安装使用,开发交流

垂询热线:15977474517