• 注册
  • 查看作者
  • 【微擎】URL路由及创建【微擎】URL路由及创建

    一、公众号模块方法

    // 前台方法
    doMobileXXX --> doMobileIndex
    
    // 后台方法
    doWebXXX --> doWebUsers
    

    二、模块URL

    1. 前台(app端)
    // 默认
     链接
    // 自定义
     链接
    // 以上两种访问方式等价
    
    1. 后台(web端)
    // 默认
     链接
    // 自定义
     链接
    // 以上两种访问方式等价
    

    上面URL中出现的eid在数据表ims_modules_bindings中的字段eid中可获得,这些数据会在安装微擎模块的时候自动插入到该表当中。

    三、URL路由

    微擎系统的路由参数: cado

    获取对应的路由三个参数:$controller$action$do

    (一)地址URL地址路由

    当传入的URL请求中包含一个名为 cado(可选) 的 GET参数,它即被视为一个路由,例如:

    1.  链接
    

    上面url会路由至 /web/source/platform/menu.ctrl.php 文件中

    2.  链接
    

    上面url会路由至 /app/source/mc/home.ctrl.php 文件中

    (二)模块URL地址路由

    1、web端

    当传入的 c 值为 “site”, a 值为 “entry”时则是一个模块路由,例如:

     链接
    

    上面url会路由至 /addons/module_name/site.php 文件中的 doWebUser() 方法。

    2、app端
    • 当传入的c 值为 “entry”时则是一个模块路由;

    • 如果a值为空,默认进入模块的site.php

    • 如果a值不为空(a的有效值有:aliappbaiduappphoneappsitetoutiaoappwebappwxappxzapp),则进入对应的模块php文件,例如:

    1.  链接
    

    上面url会路由至 /addons/module_name/site.php 文件中的 doMobileIndex() 方法

    2.  链接
    

    上面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'));
    //  链接
    
    echo url('mc/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()生成的链接会进入到这里
        }
    }
    
  • 0
  • 0
  • 0
  • 31
  • 请登录之后再进行评论

    登录

    捐助

    请在小工具里添加二维码

  • 任务
  • 发布
  • 单栏布局 侧栏位置: