作为复杂一些的系统,可能涉及很多应用模块,比如home模块 Api模块 admin模块 user模块...,通过简单的模块开发,可以将复杂的业务拆分为多个模块,极大缩短团队开发时间和减少成本. 模块都是放置于app应用模块目录 除了YFCMF自带的模块外,基本的模块开发结构如下:

app [应用模块目录]
├─user [模块目录,小写]
│  ├─info.php [模块信息]
│  ├─menues.php [模块菜单文件(后台)]
│  ├─install.sql [数据库安装文件,可选]
│  ├─uninstall.sql [数据库卸载文件,可选]
│  │
│  ├─controller [模块控制器目录,可选]
│  │  │
│  │  ├─AdminAuth.php [模块控制器]
│  │  ├─AdminRule.php [模块控制器]
│  │  └─AdminUser.php [模块控制器,为区分前台控制器,建议前缀Admin]
│  │
│  ├─model [插件模型目录,可选]
│  │  │
│  │  ├─Role.php [模块模型]
│  │  ├─RoleAccess.php [模块模型]
│  │  ├─RoleRule.php [模块模型]
│  │  └─User.php [模块模型]
│  │
│  ├─validate [模型验证器目录,可选]
│  │
│  └─view [模型视图目录,可选]
│  │  │
│  │  ├─admin        [管理控制器视图目录]
│  │  └─default [模块视图主题]
│  │      └─xxx.html [前台模板]
│  ├─public [模块静态资源,安装后会复制到根目录下"public/模块名"文件夹]