微擎:URL路由&创建

简介: 微擎:URL路由&创建

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的函数 url01ebd755782e4c909dad0843d3544acf.jpeg(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()生成的链接会进入到这里
    }
}



目录
相关文章
|
3月前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
2月前
|
前端开发
vue-element-admin最新版4.4实现多个url路由匹配到一个路径时,左侧菜单保持高亮状态
vue-element-admin最新版4.4实现多个url路由匹配到一个路径时,左侧菜单保持高亮状态
18 0
|
2月前
|
前端开发
如何让url在新页面打开路由页面,并脱离vue-admin-template的壳,即不包裹在侧边栏和顶栏中
如何让url在新页面打开路由页面,并脱离vue-admin-template的壳,即不包裹在侧边栏和顶栏中
10 0
|
6月前
|
Web App开发 前端开发 JavaScript
SAP UI5 应用开发教程之一百零六 - 如何提高 SAP UI5 应用路由 url 的可读性试读版
SAP UI5 应用开发教程之一百零六 - 如何提高 SAP UI5 应用路由 url 的可读性试读版
32 0
|
9月前
|
网络协议 前端开发 JavaScript
Django第3步_url路由映射与TEMPLATES添加检索路径
Django第3步_url路由映射与TEMPLATES添加检索路径
76 0
|
9月前
|
Web App开发 搜索推荐 开发者
Flask 路由处理 URL 路径末尾带斜线或不带斜线机制
Flask 路由处理 URL 路径末尾带斜线或不带斜线机制
130 0
|
10月前
|
Python
Django知识点-URL路由 name=
Django知识点-URL路由 name=
44 0
|
10月前
|
JSON 数据格式 Python
django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
|
存储 移动开发 前端开发
前端路由如何修改 URL ?
前端路由需要实现两个核心, 1. 修改 URL 而不引起页面刷新, 2. 检测 URL 的变化, 这两个核心取决于你采用的前端路由技术选择的方案, 即 hash 和 history, 当选择了技术后,
|
API
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url
70 0
使用 Schematics 创建的 Spartacus Storefront,在 index.html 里指定 OCC API url