原文地址:
/web/index.php?c=site&a=entry /app/index.php?c=entry
路由变量
$controller = $_GPC['c']; //web入口缺省值=account,app入口=home $action = $_GPC['a']; //index.php入口文件开头`$acl`变量可配置默认方法 $do = $_GPC['do'];
不管$action是什么都会先引入如下文件
require IA_ROOT . "/web/source/{$controller}/__init.php";
如果$action未配置,则使用$controller目录下的第一个.strl.php文件的文件名作为$action
路由结果
require IA_ROOT . '/web/source/' . $controller . '/' . $action . '.ctrl.php';
二、微擎模块的入口
路由变量
$_GPC['m']; //模块 $_GPC['do']; //行为 $_GPC['eid']; //入口ID,对应数据表`modules_bindings`
这里的路由有2种模式:
eid //模式1 m=&do= //模式2
路由结果文件
先从模块存放目录中寻找
require IA_ROOT . "/addons/{$_GPC['m']}/site.php";
如果不存在附加模块则从内置模块目录中寻找
IA_ROOT . "/framework/builtin/{$_GPC['m']}/site.php";
路由结果行为
/web/index.php入口:
$class = $_GPC['m'].'ModuleSite'; //模块类 $method = 'doWeb'.$_GPC['do']; //行为 $class->$method();
/web/index.php入口:
$class = $_GPC['m'].'ModuleSite'; //模块类 $method = 'doMobile'.$_GPC['do']; //行为 $class->$method(); //执行
微擎入口路由及其模块入口路由 - YangJunwei微擎通过下面2个入口文件指引的模块方法可再次路由
http://yangjunwei.com/3093.html
本文详细介绍了微擎系统的入口路由机制,包括Web和App入口的路由变量及处理方式。对于Web入口,路由根据$controller和$action变量确定加载的PHP文件;对于微擎模块入口,路由涉及$m$, $do$和$eid$变量,根据模块是否存在来决定是从内置还是附加模块目录加载site.php,并执行相应的行为方法。文章深入剖析了微擎框架下URL请求如何转化为实际的代码执行流程。
4081

被折叠的 条评论
为什么被折叠?



