• 注册
  • 查看作者
  • 微擎:URL路由&创建微擎:URL路由&创建

    摘自:https://www.kancloud.cn/donknap/we7/134629

    URL路由

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

    解析路由

    地址URL地址路由

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

    链接
    则会路由至 /web/source/platform/menu.ctrl.php 文件中

    链接
    则会路由至 /app/source/mc/home.ctrl.php 文件中

    模块URL地址路由

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

    链接
    则会路由至 /addons/we7_demo/site.php 文件中的 doWebThemeset() 方法。

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

    约定及使用

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

    创建一个URL

    微擎提供一个创建URL的函数 url(微擎:URL路由&创建微擎:URL路由&创建params = array(), $noredirect = false) , 路由的表达式以斜杠“/”的方式组织,每个以斜杠分隔的片段都是指向某一控制器(controller)、操作(action)或是行为(do)。
    第二个参数则是以数组的形式表示URL中的QueryString。例如:

    //生成此地址
    // 链接
    echo url('site/entry/themeset', array('m' => 'we7_demo'));
    
    // 链接
    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()生成的链接会进入到这里
        }
    }
    
  • 0
  • 0
  • 0
  • 12
  • 请登录之后再进行评论

    登录

    捐助

    请在小工具里添加二维码

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