一、公众号模块方法
// 前台方法
doMobileXXX --> doMobileIndex
// 后台方法
doWebXXX --> doWebUsers
二、模块URL
- 前台(app端)
// 默认
http://www.yourwebsite.com/app/index.php?i=2&c=entry&eid=50
// 自定义
http://www.yourwebsite.com/app/index.php?i=2&c=entry&do=index&m=module_name
// 以上两种访问方式等价
- 后台(web端)
// 默认
http://www.yourwebsite.com/web/index.php?c=site&a=entry&eid=51
// 自定义
http://www.yourwebsite.com/web/index.php?c=site&a=entry&do=user&m=module_name
// 以上两种访问方式等价
上面URL中出现的eid
在数据表ims_modules_bindings
中的字段eid
中可获得,这些数据会在安装微擎模块的时候自动插入到该表当中。
三、URL路由
微擎系统的路由参数: c
、a
、do
;
获取对应的路由三个参数:$controller
、$action
、$do
(一)地址URL地址路由
当传入的URL请求中包含一个名为 c
、a
、do
(可选) 的 GET
参数,它即被视为一个路由,例如:
1. http://www.yourwebsite.com/web/index.php?c=platform&a=menu&
上面url会路由至 /web/source/platform/menu.ctrl.php
文件中
2. http://www.yourwebsite.com/app/index.php?c=mc&a=home&
上面url会路由至 /app/source/mc/home.ctrl.php
文件中
(二)模块URL地址路由
1、web端
当传入的 c
值为 “site”
, a
值为 “entry”
时则是一个模块路由,例如:
http://www.yourwebsite.com/web/index.php?c=site&a=entry&do=user&m=module_name
上面url会路由至 /addons/module_name/site.php
文件中的 doWebUser()
方法。
2、app端
当传入的
c
值为“entry”
时则是一个模块路由;如果
a
值为空,默认进入模块的site.php
;如果
a
值不为空(a
的有效值有:aliapp
、baiduapp
、phoneapp
、site
、toutiaoapp
、webapp
、wxapp
、xzapp
),则进入对应的模块php
文件,例如:
1. http://www.yourwebsite.com/app/index.php?i=2&c=entry&do=index&m=module_name
上面url会路由至 /addons/module_name/site.php
文件中的 doMobileIndex()
方法
2. http://www.yourwebsite.com/app/index.php?i=2&c=entry&a=wxapp&do=list&m=module_name
上面url会路由至 /addons/module_name/wxapp.php
文件中的 doPageList()
方法
四、创建前后台路由方法
1、url()
- 创建一个URL
url($segment, $params = array(), $noredirect = false)
路由的表达式以斜杠“/”
的方式组织,每个以斜杠分隔的片段都是指向某一控制器(controller
)、操作(action
)或是行为(do
)。
第二个参数则是以数组的形式表示URL
中的QueryString
。例如:
echo url('site/entry/user', array('m' => 'module_name'));
// http://www.yourwebsite.com/web/index.php?c=site&a=entry&do=user&m=module_name
echo url('mc/index');
// http://www.yourwebsite.com/app/index.php?c=mc&a=index&
2、$this->createMobileUrl()
- 生成app端的url
$this->createMobileUrl(string $string, $params = array());
class Module_nameModuleSite extends WeModuleSite {
public function doMobileIndex() {
echo $this->createMobileUrl('home');
}
public function doMobileHome() {
//上面doMobileIndex()生成的链接会进入到这里
}
}
3、$this->createWebUrl()
- 生成web端url
$this->createWebUrl(string $string, $params = array());
class Module_nameModuleSite extends WeModuleSite {
public function doWebIndex() {
echo $this->createWebUrl('home');
}
public function doWebHome() {
//上面doWebIndex()生成的链接会进入到这里
}
}