暂无菜单项

微擎手机端URL路由在PC端的编写

发布于 更新于
1,780

o(╥﹏╥)o

去年刚接触微擎的时候真的不懂url怎么编写

今天!终于我捣鼓出来了一丢丢!果然是微擎的开发文档要多看才能进步呜呜呜

首先是先把微擎的一些知识点放一下

入口脚本程序获取到到URL中相关的GET参数,解析后进行权限判断,然后调用相应的控制器处理这个请求。该过程就被称为URL路由(routing)。

约定及使用GET 参数中的 cado为微擎系统的路由参数,应当避免与系统参数冲突,在程序中可以使用 $controller$action$do来获取对应的路由三个参数

地址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地址路由

web端

当传入的 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() 方法。

app端

当传入的c 值为 “entry”时则是一个模块路由。如果a值为空,默认进入模块的site.php;如果a值不为空(a的有效值有:aliapp、baiduapp、phoneapp、site、toutiaoapp、webapp、wxapp、xzapp),则进入对应的模块php文件,例如:

http://we7.cc/app/index.php?i=1&j=2&c=entry&do=list&m=we7_demo

则会路由至 /addons/we7_demo/site.php 文件中的 doMobileList() 方法

http://we7.cc/app/index.php?i=1&j=2&c=entry&a=wxapp&do=list&m=we7_demo

则会路由至 /addons/we7_demo/wxapp.php 文件中的 doPageList() 方法

murl() – 获取Mobile端url地址

说明

murl($segment, $params = array(), $noredirect = true, $addhost = false)

参数

  • $segment 路由参数
  • $params 附加参数
  • $noredirect 为false时,会自动添加微信后缀 – &wxref=mp.weixin.qq.com#wechat_redirect
  • $addhost 为true时,会添加域名

返回值

示例

echo murl('home/welcome/mc', array('uid' => '100', 'op' => 'foo'));   // ./index.php?c=home&a=welcome&do=mc&uid=100&op=foo

然后是很简单的使用例子

先是上边的【 murl() – 获取Mobile端url地址 】中用这个函数获取到后边的url地址,前边的域名通过一个全局变量【$_W[‘siteroot’]】获得,最后加上app就能组成一个手机端的URL。

下边放一个简单的例子,是我最近在做的一个模块的地址:

<p>输出手机端地址测试:{$_W['siteroot']}app/{php echo murl('entry/site/jizhang', array('m' => 'maker_qy'));}</p>

{$_W[‘siteroot’]} → 自己微擎系统的域名地址

app/ → 代表这是手机端的url

{php echo murl(‘entry/site/jizhang’, array(‘m’ => ‘maker_qy’));} → 输出后边的地址,其中 entry/site/jizhang 分别指的是c、a、do, 当传入的c 值为 “entry”时则是一个模块路由。如果a值为空,默认进入模块的site.php;如果a值不为空(a的有效值有:aliapp、baiduapp、phoneapp、site、toutiaoapp、webapp、wxapp、xzapp),则进入对应的模块php文件 。这里的site 则会路由至 /addons/模块名称/site.php 文件中的 doMobileList() 方法 。 array(‘m’ => ‘maker_qy’) 中的 ‘m’ => ‘maker_qy’ 指的就是模块名称。

最后就会得到一个完整的URL

输出手机端地址测试:https://【不会公布网站的】/app/./index.php?i=3&c=entry&a=site&do=jizhang&m=maker_qy
0 / 600
530 条评论
热门最新

这篇文章写得真不错,收藏一下~

学到了,原来还可以这样啊

还可以吧

这篇文章写得真不错,收藏一下~

学到了,原来还可以这样啊

哈哈哈哈哈哈哈哈

默默收藏了,悄咪咪评个论

学到了,原来还可以这样啊

点赞o( ̄▽ ̄)d

哈哈哈哈哈哈哈哈

嗨,下午好!
所有的成功,都源自一个勇敢的开始
0 点赞
0 收藏
分享
530 讨论
反馈