本文目录一览:
- 1、discuz和 phpwind 哪个二次开发起来更简单
- 2、关于Discuz!NT二次开发
- 3、怎么进行discuz的二次开发
discuz和 phpwind 哪个二次开发起来更简单
Discuz!几乎和PHPWind先后兴起,Discuz!也一直以功能强大被网友所爱好,并且在DZ6.1后,又一强大的UCenter上线了,简称UC.根据DZ官方的说法"UCenter是今后Comsenz旗下各个产之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互。"而这一切无疑让原来的论坛系统变得复杂,现在安装个论坛也得先整个UC,抱着把所有产品靠UC串起来给用户,来了个新概念SNS,想靠着概念改变网民观念,提前把网民领入"WEB3.0时代"。个人认为此举动为时过早了。在互联网上,你可以去预知,可以去推动,但不可以去改变,因为网民决定了一切,网民的需求决定了一切。而UC的推出,给DZ的试用增加了麻烦。最近很多人还纳闷在DZ的升级中。也许UC串起来的康盛所有产品的确能带给站长和网民更友好更强大更方便的体验。抱着好奇的心里装了一个UCH,然而不尽人意的UCH结果是把原本的博客搬到一个页面,看起来很单调,也没能体现出社区那种热闹的气氛。也许正如网友所说,UC的推出成了DZ的鸡肋。同样,我们不敢妄言未来,至少目前是这样。
PHPwind一直以简洁,高速被站长们所推崇。PHPWind官方LOGO也有这样8个字"因为专业,所以优秀"。同样PHPWind也开发过一些除PHPWind自身外的系统,结果进程都很缓慢,也许是因为PHPWind没有像Discuz!那样的媒体效应,也许是PHPWind没Discuz!人多,也许PHPWind认识到其他产品被应用范围不是很好,所以在PW6.0以来更加注重PHPWind产品自身的开发和功能扩展。特别是在PW6.3.2推出以来和DZ形成了明显的2条路子。一个向强大的宽度奔去,一个向专业的深度钻进。PW6.3.2在6.3的基础上功能大有扩展,部分是自主创新,速度比PW6.3更是提高。目前PW6.3.2上线已经一个月,并随之启动了论坛资源的收集计划,截止8月中旬,他们已经收集了支持新版本的接近500个第三方资源,在奥运前夕,发布了十几个专题模板和新闻资讯插件,我想这也是专注的结果吧。PHPWind的专业性让我想到一句话:专业成就未来。也许正如PW论坛的一位朋友所言:"有的时候BBS只是BBS,你如果赋予它太多的意义,BBS又有什么意义呢?"。
在2004年,第一次接触论坛,那时做论坛的人很少,也没的参考,就随便选了Discuz!。随着对论坛的发展和对行业的了解,我接触到的很多朋友都向我推荐PHPWind,说速度快,建议我试试,但是用Discuz!一直比较稳定,我也没在这上面花心思。直到2006年初,我的一个朋友用了PHPWind,找我做他的技术支持,也是从那时起,我才开始真正了解PHPWind。
现在,经过了两年多PHPWind系统的使用和3年左右Discuz!系统的使用,整体来说,两家系统在功能上和结构上基本没有太多的区别。如果非要从整体上来个评论对比的话,只能说:
1、在论坛运行速度上,PHPWind始终更胜一筹;在资源带宽占用上,PHPWind始终能够达到更优化;在功能设置和界面友好程度上,PHPWind始终能够让新手站长更好的掌握方向;在系统结构代码上,PHPWind系统代码更简单,且具有更大的扩展性。
2、在界面美观程度上,Discuz!始终能够获得更多站长的认可;在站长服务上,Discuz!也曾经一度获得广大站长的好评;不过自从phpwind被阿里巴巴收购后发展更迅速了,现在已经能使用qq,腾讯微博,淘宝账号,支付宝账号登陆,而dz暂时只能使用qq登陆,看看他的最新体验站。
下面是我从论坛管理者角度出发,对两个系统的后台管理,包括功能和界面设计方面的一些简单对比评测,目的是为了给像当初的我一样,初次接触论坛系统,想要建站,急需客观评论的新手站长们一个可以更明确选择适合自己的系统的参照,如有不准确之处,请大家更正或补充。
也许是缘分,4年前我见到了第一个PHPWIND系统做的论坛并喜欢,从那之后自己开始研究PW论坛系统。在后来我论坛也用了PHPWIND的系统,到现在也好几年了,稳定和速度更加坚定了我的信念。190多M数据也在几个月前免费发布了,本着对多年来支我们的朋友们的感谢。也许因为个人喜好原因,本文观点不是很客观,但最近的确找我转化数据的朋友明显增加了。
对于论坛系统的未来,我不敢断言PHPWIND一定胜利,至少目前PW势头不错,PW6.3.2将是论坛系统集速度和功能的一个里程碑。当然,也许Discuz会在几年内让UC系列热起来,也许还会杀出一个甚至几个新的论坛系统将PHPWind和Discuz一起灭了。呵呵。互联网就是个创造奇迹的地方,没有什么不可能的。Discuz也是不错的,功能的确很强大,实在劝服不了的朋友我就给装Discuz。不过我还是希望PHPWind最终胜利,因为除这个产品,我更喜欢PW低调做人高调做事的风格!
关于Discuz!NT二次开发
PHPwind7.5属于PHP平台
Discuz!NT3.0属于ASP.NET平台
PHP平台执行效率高,免费。
ASP.NET平台安全性相对高,不免费,微软的,想免费除非用盗版
PHPWind 7.5已经是成熟的产品
Discuz!NT3.0属于刚刚发展的初期(但也同样功能齐全了)
PHPWind 7.5模板插件丰富
Discuz!NT3.0相比较PHP平台模板和插件还是相对来说少很多
PHPWind 7.5是他们公司的主打产品
Discuz!NT3.0并不是他们公司的主打产品,他们的主打产品是discuz!7.1,同样是做PHP平台应用起家(Discuz!NT3.0只是为了适应市场需求)
PHPWind 7.5官方讨论的人多
Discuz!NT3.0讨论该版本的人远没有PHPWind 7.5的人多
以上是我总结的几点。哪个程序没有漏洞呢?偶尔的一次数据被灌太正常了, 爆米花小说 你不可能同时用两个论坛程序吧?PHPWind 7.5出现重大灾难的时候你经历没经历到呢?给人家比较程序千万不能把自己的印象说出来,第一会误导人,第二会左右到别人的选择。
一定要公平的比较~~
另外,站长团上有产品团购,便宜有保证
怎么进行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代码