Discuz教程网

[插件制作] MVC架构在Discuz 插件开发的应用MVC_IN_Discuz_plugin

[复制链接]
authicon dly 发表于 2012-2-22 00:25:00 | 显示全部楼层 |阅读模式
MVC架构在Discuz!插件开发的应用
•
本PPT所阐述内容已经在个人能力范围内,对其科学性、安全性、正确性、完整性、及时性、合法性等做义务管理和初步检验,但均不做任何承诺和担保。

•本人对MVC的理解也是非常片面和不全,欢迎各位与本人探讨。邮箱:horseluke@126.
com

疑问1:是否做一个Discuz!架构下的多余架构(“ windows 下的linux”)?
个人回答是“否”。原因如下:
MVC只是一种设计思想,与任何具体程序无关;
Discuz!的架构确实已经涵盖了许多方面,但是仍有许多改进的地方,比如版块权限检查,就非常分散。
一个反例:到了Discuz! 6.1时代,作为用户管理和通行证的部分为啥要独立为一个UCenter(同样也是MVC架构)出来呢?

疑问2:插件用MVC是否“小题大做”?
个人回答是“根据实际情况”。原因如下:
对于个人开发的仅有一个或者几个明确功能的插件,以原来的方式开发也无不妥;
假如考虑到多人开发、或者考虑到以后可能需要增加新功能、或者考虑到各个插件之间类库的重用性,MVC不失为一种选择。
注意:前期设计很重要也很花费时间,若觉得耗费不起或者需要赶工,那么不用也罢。

第一种:完全独立外挂型
MVC架构部分:
全部自己编写
期间不用或者很少使用Discuz!提供的函数和类库
单一入口文件部分:
放在论坛根目录下
只是用于引入Discuz!的include/common.inc.php文件(甚至不引入)和框架的初始化文件:
  1. <?php

  2. require_once './include/common.inc.php';  
  3. define('APP_PATH',dirname(__FILE__).'/App_Helloworld');
  4. require(dirname(__FILE__).'/Framework_Core/FWBase.class.php');

  5. FWBase::startup()->run();
复制代码

游客,如果您要查看本帖隐藏内容请回复



上一篇:面向开发者的插件:钩子类名和方法提示 FOR X1.5RC
下一篇:鲜花鸡蛋For Discuz 7.1 UTF-8 / Discuz 7.2 UTF-8(非完全绿色插件版
authicon odaboy 发表于 2012-2-22 00:28:40 | 显示全部楼层
看看看看看看看看看看
authicon 主编 发表于 2012-2-22 01:07:02 | 显示全部楼层
authicon homvinechen 发表于 2012-3-1 04:21:11 | 显示全部楼层
不错的资料
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 01:42

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表