微擎二次开发:路径地址怎么找文件

发布时间:2020-07-27 15:12:00 浏览量:35 来源:测速网

第一次接触微擎,想怎么着手二次开发或修改文件,但从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