第一次接触微擎,想怎么着手二次开发或修改文件,但从url地址怎么快速找到对应文件和方法。
模块入口路由
通过下面2个入口文件指引的模块方法可再次路由
/web/index.php?c=site&a=entry
/app/index.php?c=entry
$_GPC['m']; //模块 $_GPC['do']; //行为 $_GPC['eid']; //入口ID,对应数据表`modules_bindings`
路由变量
$controller = $_GPC['c']; //web入口缺省值=account,app入口=home $action = $_GPC['a']; //index.php入口文件开头`$acl`变量可配置默认方法 $do = $_GPC['do'];
require IA_ROOT . "/web/source/{$controller}/__init.php";
| – addons 模块目录
| – app 应用app目录
| – framework 系统内核目录
| – web 管理后台目录
当传入的URL请求中包含一个名为 c、a、do(可选) 的 GET 参数,它即被视为一个路由,例如:
http://we7.cc/web/index.php?c=platform&a=menu&
则会路由至 /web/source/platform/menu.ctrl.php 文件中
http://we7.cc/app/index.php?c=mc&a=home&
则会路由至 /app/source/mc/home.ctrl.php 文件中
#####模块URL地址路由
当传入的 c 值为 “site”, a 值为 “entry”时则是一个模块路由,例如:
http://we7.cc/web/index.php?c=site&a=entry&do=themeset&m=we7_demo
则会路由至 /addons/we7_demo/site.php 文件中的 doWebThemeset() 方法。
http://we7.cc/app/index.php?i=1&j=2&c=entry&do=list&m=we7_demo
则会路由至 /addons/we7_demo/site.php 文件中的 doMobileList() 方法。
####约定及使用
GET 参数中的 c、a、do为微擎系统的路由参数,应当避免与系统参数冲突,在程序中可以使用 $controller、$action、$do来获取对应的路由三个参数
例如:
1、http://weiqin.com/web/index.php?c=site&a=entry&m=ewei_shopv2&do=web&r=shop.adv
当传入的 c 值为 “site”, a 值为 “entry”时则是一个模块路由,m则表示模块对应的名称,该页面对应的视图和控制器文件都在
addons/ewei_shopv2目录下
do=web表示模块的后台管理
r=shop.adv表示视图及控制器的名称
控制器对应的路径:addons\ewei_shopv2\core\web\shop下的adv.php
视图对应的路径addons\ewei_shopv2\template\web\shop\adv
2、http://weiqin.com/app/index.php?i=1&c=entry&m=ewei_shopv2&do=mobile&r=goods.detail
当传入的 c 值为 “site”, a 值为 “entry”时则是一个模块路由,m则表示模块对应的名称,该页面对应的视图和控制器文件都在
addons/ewei_shopv2目录下
do=mobile表示模块的前端
r=goods.detail表示视图及控制器的名称
控制器对应的路径:addons\ewei_shopv2\core\mobile\goods\detail.php
视图对应的路径addons\ewei_shopv2\template\mobile\default\goods\detail.html
3、http://weiqin.com/web/index.php?c=profile&a=passport&
对应的控制器目录为:web\source\profile\passport.ctrl.php
对应的视图目录为:web\themes\default\profile\passport.html