微擎MVC

Posted 小明菜市场

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微擎MVC相关的知识,希望对你有一定的参考价值。

小小的生活继续!

结构概述

微擎分为四大模块,分别是“api关键字回复”,“微站”,“粉丝&会员”,“扩展模块”

api关键字

用于回复相关的消息

微站

用于承担微站的站点


入口

入口分为 Web端入口”、“App端入口”、“微信Api入口”

微擎MVC

此MVC 为位于source目录,每一个目录代表一个控制器,每个文件为action,系统提供do用来区分一个action的不同操作。例如 http://pro.we7.cc/web/index.php?c=extension&a=module&do=designer

上方url中extension为控制器,model为action,ddesigner表示下方的一个具体的do

模型位于 framework/model 目录下。摸板位于 web|app / themes / default

URL 路由和模板文件

当传入的URL请求中包含一个名为 c、a、do(可选) 的 GET 参数,它即被视为一个路由,例如:

 
   
   
 
  1. http://we7.cc/web/index.php?c=platform&a=menu&

则会路由至 /web/source/platform/menu.ctrl.php 文件中

 
   
   
 
  1. http://we7.cc/app/index.php?c=mc&a=home&

则会路由至 /app/source/mc/home.ctrl.php 文件中

模块URL地址路由

当传入的 c 值为 “site”, a 值为 “entry”时则是一个模块路由,例如:

 
   
   
 
  1. http://we7.cc/web/index.php?c=site&a=entry&do=themeset&m=we7_demo

则会路由至 /addons/we7_demo/site.php 文件中的 doWebThemeset() 方法。

 
   
   
 
  1. 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来获取对应的路由三个参数

模板

在任何php代码中可以使用 template() 函数来渲染一个视图文件。例如:

 
   
   
 
  1. <?php

  2. /**

  3. * [WeEngine System] Copyright (c) 2013 WE7.CC

  4. */

  5. $setting = $_W['setting'];

  6. //将渲染web/themes/default/user/login.html文件

  7. template('user/login');

app端与web端类似,只不过是起始目录为 /app/themes/default/xxx/yyyy.html

调用模块中的模板文件 同生成URL函数一样,微擎也同样为模块封装了单独的模板调用函数,例如:

 
   
   
 
  1. <?php

  2. class We7_demoModuleSite extends WeModuleSite {

  3. public function doMobileIndex1() {

  4. global $_W, $_GPC;

  5. $title = '支付测试';

  6. //将渲染模块目录下的app端的模板文件

  7. // addons/we7_demo/template/mobile/index1.html

  8. include $this->template('index1');

  9. }


  10. public function doWebManage() {

  11. global $_W, $_GPC;

  12. //将渲染模块目录下的web端的模板文件

  13. // addons/we7_demo/template/manage1.html

  14. include $this->template('manage1');

  15. }

  16. }


以上是关于微擎MVC的主要内容,如果未能解决你的问题,请参考以下文章

微擎框架中receive.php代码分析

微擎之根据状态导出不同数据

微擎之根据状态导出不同数据

微赞微擎手动增加模块数据库表结构详解

微擎app端上传图片后删除不了图片

微擎遇到 请先更新或安装主模块后再安装插件 问题解决