## 基础使用
通过使用路由可以优化链接,系统提供了强大的路由功能,不过如果情况允许还是推荐使用服务器软件自带的地址重写如apache的rewrite。
[TOC]
虽然路由可以可以使用像thinkPHP或者laravel类似的路由注册方式,但是不推荐这样做,推荐把路由写入配置文件,路由组件会自动生成缓存,有助于提高匹配速度。
### 配置
路由规则配置只能在全局配置里,在模块配置里写的路由规则是无效的。
#### 兼容模式
~~~
// 默认模块
'default_module' => 'index',
// 默认控制器
'default_controller' => 'index',
// 默认操作方法
'default_action' => 'index',
// url模式 1普通模式 2兼容模式 3 pathinfo模式
'url_pattern' => 1,
// 是否rewrite 1开启0关闭
'url_rewrite' => 0,
// 兼容模式变量
'url_var' => 's',
// 当pathinfo不存在时是否可以使用 兼容模式下的变量 1使用 不使用
'use_var_s' => 1,
/************ 当前所在区域控制 *****/
// 开启使用区域分析 1使用0不使用
'use_area' => 1,
// 地区列表
'area_list' => ['zh'=>'cn', 'en'=>'en'],
// 默认地区 当合法列表不存在是使用默认
'default_area' => 'en',
// pathinfo前多少个字符 长度验证
'area_length' => 2,
/**
* 只在普通模式下有效
*/
// 模块变量
'var_m' => 'm',
// 控制器变量
'var_c' => 'c',
// 操作变量
'var_a' => 'a',
~~~
##### 设置路由规则
在全局配置文件route里面有一个`rules`配置是设置路由的,里面包含的`get post put delete any map group resoure domain globalPattern`
这是设置分别为:
get请求路由
post请求路由
map请求路由
group分组路由
resoure资源路由
domain域名路由
globalPattern全局匹配模式
### 标字符
默认请求下路由匹配后就停止匹配,但是该路由组件可以改变当前行为,就向apache的rewirte一样
目前实现标志服
~~~
/**
* 分析行为 如果K标识则返回true继续规则匹配
* 模拟apache rewrite 少量标志符
* R[=code](force redirect) 强制外部重定向
* F(force URL to be forbidden)禁用URL,返回403HTTP状态码。
* G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。
* K(keep matches) 继续匹配 与apache 的rewrite正好相反
* S=num(skip next rule(s)) 跳过num条规则 只用于正则路由(暂时未实现)
* QSA 追加请求字符串
* A 更改pathinfo
* @param [array] $b [标志符号] ['F','G','QSA','A','L','R=321']
* @return [type] [终止匹配或者继续匹配状态]
*/
~~~
- 简介
- 开发规范
- 许可协议
- 作者
- 安装框架
- 更新日志
- 基础
- 入口文件
- 全局变量
- 系统配置
- 目录结构
- 系统常量
- 自动加载
- 系统函数
- 应用密匙
- 依赖注入
- 配置
- 说明
- 基本使用
- 扩展应用
- C函数
- 容器
- 介绍
- 使用容器
- 绑定服务
- 数组访问
- 请求
- 基础
- 函数常量
- 获取信息
- 方法伪造
- 路由
- 基础使用
- 域名路由
- 静态路由
- 正则路由
- 路由分组
- 地区
- 资源路由
- 闭包
- 其它方法
- 响应
- 响应输出
- session
- 设置
- 生命周期数据
- cookie
- 加密使用
- 中间件(钩子)
- 基础使用
- 保存到文件
- 数据
- 配置
- 核心操作
- 聚合查询
- 查询构造器
- 关系型数据库关联
- 事务处理
- 日志
- 日志
- 视图
- 模板配置
- 模板文件
- 模板语言
- 基础使用
- 内置标签
- 扩展标签库
- 模板
- 变量输出
- 原样输出
- 运算符
- 缓存
- 缓存配置
- 基本操作
- 多语言
- 基础使用
- 扩展库
- 数据验证
- xml
- 压缩
- 工具类
- 字符串
- 文件上传
- 目录操作
- 二维码
- 验证码
- 图片处理
- curl
- url生成