discuz采用mvc(discuz官方网站)

纸扎戏偶

本篇文章给大家谈谈discuz采用mvc,以及discuz官方网站对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

  • 1、Discuz、Phpwind和Spacebuilder,哪一个好用?
  • 2、怎么进行discuz的二次开发
  • 3、discuz X3.1 中C ::m 是什么
  • 4、discuz框架里为何要先到module下的php文件再到template的htm,为何不直接从最开始的php文件到htm文件引用

Discuz、Phpwind和Spacebuilder,哪一个好用?

discuz缺点:

不能批量编辑用户,如不能批量移动到指定用户组。

帖间随机广告代码不能“每条随机广告一行,用回车分开”。

没有“沉底”功能。

没有道具,用户不能自行改名。

不能批量删除某个用户若干天内的所有回复或主题。

优点:

discuz免费。

使用快速回复框时不会说“您提交的参数错误。请仔细阅读论坛帮助文件,确保您有相应的操作权限。”

不会因为css代码下载不完全而导致版面格式混乱。

积分、用户组、发帖数级别设置更灵活。

比asp+access版论坛更节约空间。转换后数据库大小只有动网Access数据库的三分之一。

速度快。

可以匿名发帖。

可以设置昵称。

可以直接使用纯真IP库。

后台设置简单明了。

可以“用户栏目定制”。

可以“合并用户”。

可以在后台直接更改用户名。

页面上下都有页码,方便翻页。

可以前台批量操作。

不会多重引用。

用户编辑帖子可以自己更改主题分类。

phpwind特点:

独创、成熟

phpwind独创的技术架构和程序设计,获得国家专利认证,从根基着手塑造快速、稳健、可扩展的论坛程序。7年砺炼,在用户需求基础上进行不断创新与完善,无论企业还是娱乐,全面满足论坛建设。

安全

高效防护算法、程序监控技术、注入式入侵过滤技术、防CC攻击技术、安全验证机制构筑的站点安全体系,将风险防患于未然

快捷、稳定、高效

核心参数的合理配置、负载均衡处理技术、数据库分表技术、文件读写稳定性算法帮助您最大限度地节省硬件资源,保障站点在服务器繁忙时快速稳定运行。

不仅为站长而设计

站长建站,影响的却是网民。PHPWind“不仅为站长而设计”的设计理念,将人性化融入论坛功能的点点滴滴。清晰的用户等级与权限设置,便捷完整的论坛功能与管理操作,详细地日志与统计记录,集成交易与支付,轻松备份/恢复数据给予站长和每一位会员良好的用户体验。

可扩展

开源、规范化的代码编写、标准化的插件接口和清晰简洁的模板体系理念,让站点无限延伸至未来。

完美整合

PHPWind所取得的同业合作,为您提供更多建站软件选择和无间隙的软件服务,帮助站点多面需求。查看详情

丰富的第三方资源

近千款风格,近百款插件,仍在不断丰富。查看详情

操作系统要求

PHPWind具备跨平台特性,支持 Linux/Unix及Windows 2000/2003/ XP等操作系统。

针对上述操作系统,我们队软件做了大量的测试和实地检验,保证PHPWind可以安全稳定的运行,但您仍需做好服务器操作系统的安全防备措施,例如Windows用户需更改MYSQL的初始密码,使用较新的稳定的软件版本等。

语言及数据库支撑环境要求可用的 web 服务器(如 Apache、Zeus、IIS 等)

php 5.2.x及以上

MySQL5.1.x及以上

Zend Optimizer 3.x及以上(可以不用)

如果您租用虚拟主机,请咨询虚拟主机提供商,您的空间服务器是否已安装了上述软件。

由于

PHPWind的数据表具有前缀设计,因此通常情况下可以将PHPWind与其他软件安装在同一个数据库中,或采用不同的前缀名在同一个数据库中安装多个PHPWind

论坛而不产生冲突。

您的 MySQL 数据库账号应当拥有 CREATE、DROP、ALTER 等执行权限。

安装可能用到的工具软件

PHPWind论坛系统的安装使用非常简单,因此您可能需要用到的工具软件也非常少。

1)您可能需要一个FTP客户端软件来上传PHPWind程序文件;

2)PHPWind是一个开源系统,您可以按自己的想法来修改程序代码,从而得到自己想要的社区呈现效果,或者社区系统某些配置文件的参数需要修改,此时您可能需要一个简单的文本文件编辑软件,一般操作系统自带的如Windows的记事本或第三方软件如EditPlus,都可以。

Spacebuilder - 特色

1.产品架构:采用“平台+应用”的设计思想,可以方便及快捷的扩展新的应用;

2. Ajax:表现层采用大量的jQuery技术,使用户获得良好的用户体验;

3. asp.net mvc:采用微软最新的asp.net

mvc(c#)进行表现层开发。彻底消除了ViewState可以万全控制html代码的输出;Controller与View完全分离充分避免了皮肤机制的性能损失;原生态的url

routing更利于urlrewrite。

4. 数据存储:目前采用SQL Server2000/SQLServer2005/SQL

Server2008进行数据存储,由于数据访问层采用了Provide设计模式所以可以方便的移植到其他关系型数据库;

5. 数据访问:为了提升性能以及数据库安全性,数据访问全部采用存储过程;

6. 高效缓存:使用可分区的缓存技术,并且具有优秀的缓存过期策略,使站点获得性能提升的同时,保证缓存与数据库数据同步;

7. 全文检索:以Lucene为核心实现全文检索功能,实现索引库自动更新,并提供企业级的全文检索性能;

8. 扩展机制:优秀的皮肤实现机制,使客户可以方便的对现有皮肤进行修改或开发新的皮肤;核心模块提供了全局事件,客户可以开发自己的Module;

9. 配置文件:配置信息均采用XML格式,易于管理设置;

10. 所有页面均采用xhtml+css进行设计,符合web标准,兼容所有主流浏览器(IE、Firefox),降低页面流量,提高加载速度;

怎么进行discuz的二次开发

必须至少具备如下技能:

1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)

2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用

3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳

4) 熟悉使用Discuz!的各项功能

一) Discuz!的文件系统目录

注:想搞DZ开发,就得弄懂DZ中每个文件的功能。

a) Admin:后台管理功能模块

b) Api:DZ系统与其它系统之间接口程序

c) Archiver:DZ中,用以搜索引擎优化的无图版

d) Attachments:DZ中 ,用户上传附件的存放目录

e) Customavatars:DZ中,用户自定义头像的目录

f) Forumdata:DZ缓存数据的存放目录

g) Images:DZ模板中的图片存放目录

h) Include:DZ常用函数库,基本功能模块目录

i) Ipdata:DZ统计IP来路用的数据

j) Plugins:DZ插件信息的存放目录

k) Templates:DZ模板文件的存放目录

l) Wap:DZ无线,Wap程序处理目录

二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。

关于DZ数据库设计文档,请参阅DZ相关的项目

三) Discuz!的流程控制

a)

后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在

admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2

admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在

admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件

b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:

首页:index.php

会员注册:register.php;

会员登录:logging.php

发贴程序:post.php

会员信息:member.php

论坛内容:forumdisplay.php

查看贴子:viewthread.php

…大部分功能,此处不一一列出…

c) DZ根目下的config.inc.php属于整个DZ系统的配置文件

四) Discuz!的数据处理过程

a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中

b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理

五) Discuz!的显示控制(网站多样式风格输出)

a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档

b) DZ网站风格文件处理的原理:其实很简单,DZ使用template.func.php中的parse_template()以PHP正则运算把htm模

文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。

六) DZ中的语言处理

a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的*.lang.php文件中,DZ在生成网站风格时就加载了这相应的语言包。

七) DZ如何处理用户信息(存取、计算、更新过程)

新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。

a) DZ的基本信息,如用户信息,Session信息存在如下变量中:

a). $_DCACHE

b). $_COOKIE

c). $_DCOOKIE

d). $_DSESSION

e). $_DPLUGIN

b) 可以通过print_r($GLOBALS),打印全部变量

八) DZ中缓存处理机制

a) DZ中缓存处理过程都放在“cache.func.php”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。

b)使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:

1)定义并注册缓存名字。

2)从数据读取相应的数据。

3)数据在写入缓存前作相应处理。

4)最后写入缓存。

具体操作,可以看文件中的代码,做相应的修改即可

九) DZ中模板处理机制

a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。

十) DZ中权限处理机制

a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。至于后台的权限权验证,则更简单了,依据“admin==1”来确定的

十一) DZ中如何实现URL静态化

a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。

十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换

a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。

实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码

discuz X3.1 中C ::m 是什么

系统采用mvc框架设计这种格式的一般都是数据调用和数据库方面有关的代码

discuz框架里为何要先到module下的php文件再到template的htm,为何不直接从最开始的php文件到htm文件引用

没研究过discuz代码,但是应该是MVC架构。

先用module 的功能模块读取数据库数据,然后再载入template(模板,用于前台显示),将数据应用到模板中来展现网页。

MVC的特点就是“数据”与“表现”分离,这样方便开发和维护。当然,也可以按照你说的直接在最开始的php文件来展现html。但是这种开发方式的特点是数据操作与展示混合在一起,对大型项目来说这种开发方式在开发、调试和代码维护方面对程序员来说都是”噩梦".

希望对你有些帮助

discuz采用mvc的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于discuz官方网站、discuz采用mvc的信息别忘了在本站进行查找喔。

文章版权声明:除非注明,否则均为我爱教程术原创文章,转载或复制请以超链接形式并注明出处。