## 应用目录结构
### 基础文件
* * * * *
~~~
├──application 应用目录
│ ├───route.php 路由流程类
│ ├───route_rule.php 路由规则类
│ ├───corn.php 定时器相关??未实现
~~~
### 多模块MAVC(A可取)
* * * * *
~~~
├──application 应用目录
│ ├──home
│ │ ├──controller 逻辑类 主逻辑
│ │ ├──action 数据处理加工 只加工, 不读取
│ │ ├──model 数据读取 读和取, 不加工
│ │ ├──view 视图展示
│ │ └....
│ └....
//route配置
Route::addGroup([
'name' =>'module',
'allowed' =>['home','back','luntan'],
'default' =>'home',
'namespace' =>true,
]);
Route::group('module', 'home', function () {
//controller模块
Route::addGroup([
'name' => 'controller',
'allowed' => ['index','user'],
'default' => 'index',
'namespace' => 'controller',
]);
Route::group('controller', 'index', function () {
//Route::get('login', 'Index@login');
...Route::get();
...Route::post();
...Route::ajax();
});
});
~~~
### 单模块MAVC:
* * * * *
~~~
├──application 应用目录
│ ├──controller 逻辑类 主逻辑
│ ├──action 数据处理加工 只加工, 不读取
│ ├──model 数据读取 读和取, 不加工
│ ├──view 视图展示 只展示 或者直接从Action,Model获得展示数据(仅推荐不需要任何参数, 全局一致(语言除外), 并进行html缓存的数据) (推荐视图局部缓存时使用)
│ └....
//route配置
Route::addGroup([
'name' => 'controller',
'allowed' => ['index','user'],
'default' => 'index',
'namespace' => 'controller',
]);
Route::group('controller', 'index', function () {
//Route::get('login', 'Index@login');
...Route::get();
...Route::post();
...Route::ajax();
});
~~~
* * * * *
###多模块自定义
> 简单暴力任性无限制,配合强悍的路由,自由实现
> 可以直接调用视图类方法,模型方法什么的,扩展加文件
> 逻辑也清晰,无限制
> 支持无限递归之类的
> 支持多文件划分
~~~
├──application 应用目录
│ ├──home
│ │ ├──index
│ │ │ ├──Controller.php 逻辑类 主逻辑
│ │ │ ├──Action.php 数据处理加工 只加工, 不读取
│ │ │ ├──Model.php 数据读取 读和取, 不加工
│ │ │ ├──View.php 视图展示 只展示 或者直接从Action,Model获得展示数据(仅推荐不需要任何参数, 全局一致(语言除外), 并进行html缓存的数据) (推荐视图局部缓存时使用)
│ │ │ └....
│ │ └....
│ └....
//route配置
Route::addGroup([
'name' =>'module',
'allowed' =>['home','back','luntan'],
'default' =>'home',
'namespace' =>true,
]);
Route::group('module', 'home', function () {
//controller模块
Route::addGroup([
'name' => 'controller',
'allowed' => ['index','user'],
'default' => 'index',
'namespace' => true,
]);
Route::group('controller', 'index', function () {
//Route::get('login', 'View@login');
...Route::get();
...Route::post();
...Route::ajax();
});
});
~~~
- 序言
- 框架
- 框架获取
- 框架安装
- 应用结构
- 框架结构
- 应用目录结构
- 框架流程
- 命名规范
- 核心思想
- 扩展
- 类组装
- 框架基类
- Arr
- Arr扩展函数
- Date基类
- Dir
- Dir基类扩展函数
- Dom基类
- File基类
- Str基类
- Str随机字符
- Str操作函数
- Str随机创建
- Html基类
- Header基类
- Filter基类
- 框架核心
- 路由
- 路由信息
- 路由安装样本
- 路由逻辑原理
- 路由方法匹配
- 路由分组
- 路由构建
- 路由限制
- 路由规则
- 路由多语,多主题
- 路由常量
- 路由扩展
- 路由例
- 路由真静态使用
- 智能加载
- Response基类
- 定时任务
- 框架主类
- 控制器
- model
- model样本
- model使用
- view
- view路径
- view方法
- view配置
- view使用
- view真静态
- view例
- view多主题
- 模版引擎
- 模版引擎之单句解析
- 模版引擎之foreach解析
- cache
- cache注意事项
- cache配置
- cache方法
- cache使用
- cache扩展
- cache处理类File配置
- cache处理类Apc,Apcu配置
- cache处理类memcache,memcached配置
- cookie
- session
- 框架扩展
- Upload类
- 测试
- 测试流程
- 测试文件编写
- 测试文件例-数组篇
- 测试类函数
- 测试类使用
- 测试注意事项
- 常用功能
- 读码须知
- 个人技巧或习惯
- 万能get,call,callStatic
- &&和||
- 变量值交换
- trait拼接
- 多语支持