MyStep Framework 自定义路由示例 2 - 通过mystep::getModule接口调用

文档说明:
mystep::getModule($m) 函数处理机制如下:
   - 传入参数 $m - 本参数传递路由外的路径信息,如路由为 /manager/[any],URI 为 /manager/path1/path2,则 $m 为 path1/path2,即[any]部分,但需要注意的是在本方法中,$m 被截取为 path1。此参数可直接在自定义的路由处理脚本内调用,但如需在下级函数中调用,需要先进行global处理。
   - 本方法将通过 myStep::setPara 方法调用当前 app 设置中的模版参数设置(可继承于全局设置,存储于全局变量 $tpl_setting 中)
   - 本方法将按照如下顺序调用处理脚本(发现可用脚本后将立即调用并停止试探)
      - app路径/module/模版样式/$m.php($m 为输入参数)
      - app路径/module/模版样式/路由名称.php (如路由为 /manager/[any],路由名称为 manager)
      - app路径/module/$m.php($m 为输入参数)
      - app路径/module/路由名称.php (如路由为 /manager/[any],路由名称为 manager)
      - app路径/module/模版样式/index.php(模版样式为设置中对应的内容)
      - app路径/module/index.php
如下变量可直接调用:info_app、s、mystep、db、cache、route、tpl_setting、tpl_cache
路径引用测试:
URL信息解析:
route.php 代码:
<?PHP
//自定义路由格式
$format = array(
    'camel' => '[a-z]+([A-Z][a-z]+)+',
);
//自定义路由规则
$rule = array(
    array('/mySample/[any]', 'app\sample\route'),
    array('/mySample2/[any]', 'mystep::getModule'),
    array('/mySample3/[camel]', array('app\sample\preCheck,3', 'app\sample\routeTest')),
);
//当前应用的数据接口
$api = array(
    'setting' => 'app\sample\api',
);
module/index.php 代码:
<?PHP
//声明主模版类(直接调用默认模版设置)
$tpl = new \myTemplate($tpl_setting, false);
//调整模版设置
$tpl_setting['name'] = 'route2';
//声明子模版类(参数1为设置,参数2为缓存,参数3为允许php代码)
$tpl_sub = new \myTemplate($tpl_setting, false, true);
//为子模版变量赋值
$tpl_sub->assign('root', ROOT_WEB);
$tpl_sub->assign('code', htmlentities(\myFile::getLocal(__FILE__)));
$tpl_sub->assign('code2', htmlentities(\myFile::getLocal(PATH.'route.php')));
$tpl_sub->assign('m', htmlentities($m));
//编译子模版页面并赋值到主模版对应变量中
$tpl->assign('main', $tpl_sub->render('', false));
//主页面编译
$mystep->show($tpl);
//结束页面并显示
$mystep->end();