###*路由分组*
* * * * *
####*路由组原理*
* * * * *
+ 根据url路径数组,按值匹配
+ addLanguage和addTheme和addGroup属于分组类型函数
> 如果在取值范围会移除url路径数组第一个值
> 非默认值会追加 取值/ 至 当前url末尾
> 会定义对应常量
> 语言主题主要是获取单个信息,可有可无
> group可以理解为按文件夹进行分组(命名空间)
+ 如果都未匹配到则运行Route::error会调用错误处理函数
+ 说白了,就是根据url路径数组,各种匹配规则
####*路由分组方式*
* * * * *
+ **按照文件夹(模块)分组**
+ **按照命名空间分组**
~~~
/**
* 增加一个url分组信息
* 将获取url参数数组中第一个参数
* 如果在且允许,则取值并从移除
* 否则取默认值
*
* @param array $group 分组信息
* 关联数组;
* $group = [
* 'name' =>string(组名)'module',
* 'allowed' =>string(路由规则) || array(允许值数组)
* 'default' =>string('组默认值')
* ['namespace' =>true(与组值相同) || string('固定值') ]
* (可选,将在当前namespace基础上添加一个命名空间,基础值为app);
* ];
*
* @return void
*/
Route::addGroup(array $group);
/**
* 匹配一个分组,匹配成功则调用对应函数
*
* @param string $group 组名
* @param string $value 组值
* @param \Closure $func 闭包函数
* @param array $args 参数
*
* @return void
*/
Route::group(string $group, string $value, \Closure $func, array $args = []) : void;
/**
* @example
* 添加一个module组
* 组名module
* 允许home或back
* 默认值为home
* 命名空间等于组值
*/
Route::addGroup([
'name' =>'module',
'allowed' =>['home','back'],
'default' =>'home',
'namespace' =>true,//app\\...\\home || app\\...\\back
]);
/**
* @example
* 添加一个controller组
* 组名controller
* 允许index或user
* 默认值为index
* 命名空间为controller.
*/
Route::addGroup([
'name' =>'controller',
'allowed' =>['index','user'],
'default' =>'index',
'namespace' =>'controller'//app\\...\\controler
]);
/**
* @example
* 第一次匹配module分组,值为home
* 第二次匹配controller分组,值为index
*/
Route::group('module','home', function () {
Route::group('controller','index', function () {
Route::get('index', function () {
//module为home,controller为index,此时参数index
..code;
});
});
});
~~~
- 序言
- 框架
- 框架获取
- 框架安装
- 应用结构
- 框架结构
- 应用目录结构
- 框架流程
- 命名规范
- 核心思想
- 扩展
- 类组装
- 框架基类
- 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拼接
- 多语支持