一、微擎入口路由
微擎有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(); //執行