[TOC=1,4]
####URL路由
入口脚本程序获取到到URL中相关的GET参数,解析后进行权限判断,然后调用相应的控制器处理这个请求。该过程就被称为URL路由(routing)。
####解析路由
#####地址URL地址路由
当传入的URL请求中包含一个名为 **c**、**a**、**do**(可选) 的 GET 参数,它即被视为一个路由,例如:
```
http://we7.cc/web/index.php?c=platform&a=menu&
```
则会路由至 **/web/source/platform/menu.ctrl.php** 文件中
```
http://we7.cc/app/index.php?c=mc&a=home&
```
则会路由至 **/app/source/mc/home.ctrl.php** 文件中
#####模块URL地址路由
当传入的 **c** 值为 “site”, **a** 值为 “entry”时则是一个模块路由,例如:
```
http://we7.cc/web/index.php?c=site&a=entry&do=themeset&m=we7_demo
```
则会路由至 **/addons/we7_demo/site.php** 文件中的 **doWebThemeset()** 方法。
```
http://we7.cc/app/index.php?i=1&j=2&c=entry&do=list&m=we7_demo
```
则会路由至 **/addons/we7_demo/site.php** 文件中的 **doMobileList()** 方法。
####约定及使用
GET 参数中的 **c**、**a**、**do**为微擎系统的路由参数,应当避免与系统参数冲突,在程序中可以使用 **$controller**、**$action**、**$do**来获取对应的路由三个参数
####创建一个URL
微擎提供一个创建URL的函数 **url($segment, $params = array(), $noredirect = false)** , 路由的表达式以斜杠“/”的方式组织,每个以斜杠分隔的片段都是指向某一控制器(controller)、操作(action)或是行为(do)。
第二个参数则是以数组的形式表示URL中的QueryString。例如:
```
//生成此地址
//http://we7.cc/web/index.php?c=site&a=entry&do=themeset&m=we7_demo
echo url('site/entry/themeset', array('m' => 'we7_demo'));
//http://we7.cc/app/index.php?c=mc&a=home&
echo url('mc/home');
```
模块中二次封装了系统的 **url()** 函数,使用时变的更加简单,例如:
```
class We7_demoModuleSite extends WeModuleSite {
public function doMobileIndex() {
echo $this->createMobileUrl('home');
}
public function doMobileHome() {
//上面doMobileIndex()生成的链接会进入到这里
}
publci function doWebIndex() {
echo $this->createWebUrl('home');
}
public function doWebHome() {
//上面doWebIndex()生成的链接会进入到这里
}
}
```
- 入门
- 系统安装
- 接入公众平台
- 关键字回复
- 更上一层楼
- 编码规范
- php编码规范
- html&css编码规范
- JavaScript编码规范
- 系统概述
- 结构概述
- 入口脚本
- 微擎MVC
- URL路由&创建
- $_W&全局变量
- 加载器
- 错误处理
- 日志记录
- 模板
- 模板标签
- 数据调用
- 常用变量
- 手机端组件
- 概述及依赖
- 图像上传
- 弹出选项
- 后台组件
- 概述及依赖
- 后台文件上传
- 富文本编辑器
- 系统链接选择器
- 其它常用组件
- 数据库
- 参数绑定
- 数据操作
- 主从配置
- 连接其它数据库
- 缓存
- 配置
- 缓存操作
- Http请求
- 概述及依赖
- GET&POST请求
- 发送邮件
- 会员与积分
- 统一用户中心
- 借用OAuth
- 积分操作
- 资料操作
- 卡券
- 营销卡券
- 会员卡
- 消息响应
- 消息概述
- 消息响应
- 微信API
- 公众号AccessToken
- 共享收货地址(废弃)
- 共享收货地址(新)
- 粉丝标签
- 客服消息
- 模板消息
- 粉丝信息
- 素材
- 群发
- 二维码
- 在线支付
- 概述及依赖
- 发起支付(PHP)
- 发起支付(JS)
- 验证支付
- 模块
- 设计模块
- 目录结构
- module.php
- processor.php
- site.php
- receiver.php
- 模块高级专题
- 自定义分享
- 智能应答
- 微信卡券
- 远程附件
- 权限控制
- 特殊事件触发模块
- 粉丝信息
- 小程序
- 概述
- Uitl类
- 云服务
- 云API
- 系统接口
- 模块云配置
- 云短信
- 云短信错误代码
- 云短信发送函数
- 批量群发短信
- 应用推广
- 悬赏文案
- 折扣码
- 系统消息
- 开发者等级资料认证
- 应用标签
- 模块自动检测订阅支持
- 小程序
- 开发实例
- 参数设置
- 常见问题