- 体积小,简单易用
- 基于namespace自动加载类库
- 低耦合,依赖注入,易扩展
- 强大url及路由处理能力
- 强大缓存处理方式
- 灵活的配置
project # 项目根目录
├─app # 应用目录
│ └─home # 模块
│ ├─controller # 控制器
│ ├─model # 模型
│ └─view # 试图
│ ├─index # 对应于IndexController->indexAction.
│ └─layout.php # layout
├─assets # 该目录可以自定义,默认前端采用seajs模块化开发结构
│ ├─images # 图片
│ ├─js # 脚本
│ └─css # 样式
├─cache # 缓存目录及日志默认
├─config 配置文件
│ ├─config.php # 应用配置
│ ├─database.php # 数据库配置
│ └─router.php # 路由配置
├─data # 数据存放
├─library # 系统类库
│ ├─cache # 缓存处理
│ ├─core # 系统初始化核心处理
│ ├─di # 依赖注入
│ ├─db # 数据库操作
│ └─util # 基础工具类
├─model # 数据库模型
├─service # 业务逻辑处理
├─.htaccess # 去除url上index.php
├─index.php # 入口文件
└─README.md # 简单说明文档
-
遵循骆驼峰命名规则,类名需要首字母大写
-
控制器: 控制器名称+Controller.php 控制器类名和文件名相同 例: TestController.php,控制器类名:TestController
-
控制器方法: 方法名+action 例: testAction();
-
控制器文件位于当前模块下的controller目录
-
模型文件位于当前模块下的model目录
-
视图文件位于当前模块下的view目录
项目是基于namespace自动引入类库,因此类名所在目录命名必须为小写,文件名必须和类名一致,类文件必须加上命名空间(以项目跟目录为起始,可将目录首字母大写,如:Library/Core即library/core目录)
打开url->加载类库->解析url->检查是否经过路由->分陪mvc->执行控制器方法->数据处理->视图输出
查看文档