微擎入口路由及其模块入口路由

本文详细介绍了微擎系统的入口路由机制,包括Web和App入口的路由变量及处理方式。对于Web入口,路由根据$controller和$action变量确定加载的PHP文件;对于微擎模块入口,路由涉及$m$, $do$和$eid$变量,根据模块是否存在来决定是从内置还是附加模块目录加载site.php,并执行相应的行为方法。文章深入剖析了微擎框架下URL请求如何转化为实际的代码执行流程。
摘要由CSDN通过智能技术生成

原文地址:

/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值