微擎入口路由及其模块入口路由
一、微擎入口路由
微擎有2个入口文件
/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(); //执行