ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC=1] * * * * * # MVC WeCenter应用是单一的,基于MVC(模型-视图-控制器)的方式来组织。 > MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。 > ### 控制器 在``app``应用文件夹下,有很多不同的控制器,分别在不同的文件夹中。 以WeCenter程序首页为例。 ~~~php class main extends AWS_CONTROLLER { public function get_access_rule() { $rule_action['rule_type'] = "white"; //'black'黑名单,黑名单中的检查 'white'白名单,白名单以外的检查 if ($this->user_info['permission') { $rule_action['actions'][] = 'index'; } return $rule_action; } public function setup() { //控制器下所以操作之前的执行代码 } public function index_action() { //首页执行代码 } } ~~~ 在这个例子中,控制器为``explore/main``,它继承与主控制器``AWS_CONTROLLER``。 ### 操作 每个控制器下有不同的操作(方法),它们分别对应着我们访问的URL。 例如通过访问首页,我们就被``默认访问``了上面例子``index_action()``的操作(方法)了。 ### 模型 模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。 模型类一般进行数据库读写操作,但并不一定必须要访问数据库。 ### 视图 控制器调用模型类后返回的数据通过视图组装成不同格式的输出。视图根据不同的需求,来决定调用模板引擎进行内容解析后输出还是直接输出。 # 访问流程 入口文件 index.php 架构加载 system/system.php 系统初始化 system/init.php AWS_APP uri解析 Controller 视图