php 前端页面的路由,微擎 Hack (2) - 页面路由

作者:huangwc

模块视图的定义在 /source/modules/MODULE_NAME/site.php 的 XXXModuleSite类中

方法分为:

后台方法 doWebXXX()

前台方法 doMobileXXX()

一、doWebXXX 后台方法

形如:

/site.php ?act=module &do=XXX &__weid=WEID &name=MODULE_NAME

其中: act 必须为 module name 是模块的名称 do 是方法 XXX 的名字 __weid 指定公众号的 weid,用于突破权限验证

二、doMobileXXX 前台方法

形如:

/mobile.php ?act=module &do=XXX &weid=WEID &name=MODULE_NAME &id=FANS_ID

act 必须为 module name 模块的名称 do 是方法 XXX 的名称 weid 访问的公众号的 weid id 当前粉丝的 id

三、注意事项

另外,我发现必须显式将模块的权限授予任意一个非根用户的用户,否则访问 mobile 视图的时候总会报错!

我感觉这应当是一个 kernel 的 bug。

造成错误的代码段放在了 /source/controller/mobile/module.ctrl.php 中

如果前面的条件不成立,有一段 if(!$exist) 的分支如果进去了就会报错。

** 解决方法

每次启动的时候检查是否已经有一个授权,如果没有:

执行 sql 将当前模块的权限授予所有非管理员用户;

$mid = pdo_fetch("SELECT mid FROM ims_modules WHERE name = MODULE_NAME");

转载自:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值