APP目录结构及基本介绍


Cross 框架中, 一个项目被拆分为多个app, 放在app目录下, 每个app都包含独立的控制器,视图及模板, 一个常见的项目结构如下:

├─app
│  ├─admin
│  │  ├─controllers
│  │  ├─templates
│  │  │  └─default
│  │  │      ├─acl
│  │  │      ├─main
│  │  │      └─security
│  │  └─views
│  ├─api
│  │  ├─controllers
│  │  └─views
│  ├─cli
│  │  └─controllers
│  └─web
│      ├─controllers
│      ├─templates
│      │  └─default
│      │      └─main
│      └─views
├─config
├─htdocs
│  ├─admin
│  │  └─static
│  │      ├─css
│  │      ├─images
│  │      ├─js
│  │      └─lib
│  ├─api
│  └─web
│      └─static
│          ├─images
│          └─lib
├─modules
│  └─admin
└─tools
    └─cli

app

每个app都包含独立的配置文件和MVC模式中的CV层, 建议根据使用场景来划分

web 网站前端
admin 网站后端
api API接口
cli 计划任务或工具

config

存放全局配置文件. db.config.php 为默认的数据库配置文件

htdocs

各app的web入口, 配置虚拟站点时将域名指定到此目录下的子目录. 比如将域名 www.domain.com 的根目录指定到htdocs/web目录, admin.domain.com 指定到 htdocs/admin, 将api.domain.com指定到htdocs/api

>建议只将此目录暴露给用户

module

module是一个项目的数据核心, 所有数据都在module中处理, app共用module以保证数据来源的一致性