做门户网站,phpwind和discuz有啥区别呢?哪里能找到教程?
一、界面篇
首先,从界面上说,从整体上说,dz的界面比较美观,整体感好。
pw的界面给人一种模仿dz的感觉。同时在界面的细节上,看起来pw还是没有dz完美。
二、技术篇
从技术上说,pw和dz都使用了文件方式的数据缓存技术,通过把常用的数据表,比如论坛版面设置参数、基本参数等,生成静态缓存文件(根据条件触发更新或者手动更新),来减少数据库读取次数,提高效率,在这个方面两者非常相似。
1、模版技术
从模版技术上说,dz从25f版就开始采用的这种静态模版技术,从俺个人角度上说,还是非常适合论坛这种频繁更新的网站程序使用的。它通过动态生成静态模版的方式,解决了模版解析效率的问题。
同时,dz的这种模版方式,使得修改界面也比较容易,很直观。
而pw使用echo语句的这种方式(姑且称其为模版),就寒碜多了,要增加了一个if判断条件,就要折腾半天。添加了混合PHP代码的模板,在
dreamweaver中也容易被误操作删除。特别是如果修改的时候稍有不慎,很可能会使网页成了白板(没有输出),让俺每次修改pw模版无不如履薄冰,战战兢兢。。。。恐怕这也是第三方模版中,dz远远多于pw的原因吧。
不过pw目前在模版上也在改进,现在看verycms30就已经开始使用真正的模版技术,不过目前用的都还比较初级。。。
2、速度问题
从模版上看,两者的效率应该是差不多的,pw的模版其实就是直接包含的混合了PHP语句的一部分PHP文件,而dz的模版平时并不需要解析,所以效率应该是差不多的,但是网上总是有人声称网站使用dz的速度比pw慢,这方面本人没有测试过,不敢妄作评论。而且网站访问速度还是要受很多因素的影响,比如:本地网速、服务器带宽、心理。。。。。客观的评价还是很难的,除非使用专业技术手段。不过从官方网站的速度来看,明显还是pw占优啊
三、功能篇
1、登录方式:
pw的前台登录和后台登录采用了不同的Cookie方式,这样前后台分开的方式,有利于安全,也便于管理。后台帐号与前台帐号可以彻底分开。
而dz的前后台登录是用了一个帐号,尽管在进入后台的时候再次提示输入密码,不过还是不如pw方便。
2、分栏显示:
pw从501开始支持左右分栏显示了,然而功能太简单,不能树状显示子板块,此功能与其说有,不如说没有,弄的有点搞笑,属于半成品(倒是也符合pw的一贯特点--喜欢推出一些不完美的东西让大家修改)。
3、后台管理的效率:
pw的横向操作非常不错,大大节省了管理的难度,特别是在根据用户组设置权限的时候,非常的那个方便啊,这方面dz需要改进。
dz提供了一个方案的方式来解决后台重复操作问题,应该说也有一定道理,但是用起来不太容易上手,如果是设置一个单独的项目,就比较繁琐。
4、个人空间(文集)功能:
dz55内置了minispace个人空间功能,可以说自从discuz合并了supsite以后,在论坛功能的外展方面,占据了很大优势,吸引了很多个人网站的注意力。
5、防灌水技术
pw53终于接受了俺提出的新手注册第N贴以前发帖使用验证码的方式,这样既不影响老用户的使用,又通过验证码方式来限制恶意灌水机器人。dz未提供此功能,但是具有可以设定第N贴以后不用自定义问答的功能(dz的验证码很烂,根本看不清,用自定义问答似乎更好一些)。
在防止自动注册方面,pw和dz都使用了自定义问答方式防止自动注册的办法,具体原理很简单,两者实现的都差不多。区别在于,dz要求设置10个以上的问题才能生效,而pw只能设置一个问题。另外,还有一个区别,就是pw可以自定义问答中内部使用的form变量名,可能在防止恶意自动注册方面,会更加有效一些。pw的自定义问题只能用于注册,而dz的可以用在注册、发帖和短消息等方面。
6、前台管理功能
pw具备副版主功能,不过和一般的思路不同,副版主是由版主任命的,这样恐怕会导致权限混乱问题,所以也很少有人用这个功能。
在前台的管理功能中,pw更方便一些,不仅的主题列表中能进行管理,在帖子内容页面中的管理方式比dz用下拉方式更直观一些。而且在一个主题里面删除帖子,pw比dz直观多了。
7、所见即所得编辑器
dz55和pw53开始,不约而同的把所见即所得编辑器换成了ubbcode(两个论坛名称不一样,这里用个通俗一点的名称,暂称为UBBCode)方式的编辑器,而放弃了原来的HTML可视化编辑器。
8、附件上传和所见即所得功能:
pw的附件还是只能提交帖子上传以后才能进行图文混排,这方面dz要好的多,可以上传前就进行混排,方便多了
dz对不参与上传的附件还是显示太多信息,看起来影响美观(似乎是受vbb和phpbb的影响比较大)。而pw只是显示了“”字样和描述信息,但是更恶心的是,却把这些放到正文文字上方
,真是屡教不改啊
9、附件防盗链技术的分析:
dz采用了隐藏地址,和检测访问来源(可选)的办法来防盗链,应该说服务器负担比较大,效果还行,但不能彻底解决问题。
pw用的办法更简单,但更有效一些:就是定期或者自动修改附件目录名,应该说这是一个投资少见效快的好办法,技术上也很简单。不过最新的pw53版本也引入了隐藏附件地址的方式,后台也似乎无法关闭此项功能,似乎有点画蛇添足的味道了。。。。
10、广告功能:
dz比pw要好一些,广告功能更完善一些。比如贴内广告,在帖子下面的位置类似动网的位置,看起来更整齐一些,而pw的位置就让帖子布局显得比较凌乱,不好看。dz的贴间广告可以插入大的Google
Banner广告,或者其它形式的广告,展示效果很好。
相比dz,pw广告的插入位置更少一些,效果也差一些。
11、头像显示:
dz不能限制上传头像的长宽尺寸,只能限制总像素数,显得不够灵活,不如pw方便。而且超出了一定尺寸的头像,被自动缩放和拉伸了,看起来很难看。而且
dz还自动给头像加了一个边框,甚是恶心。可见dz把简单的事情给弄复杂化了,其实只要和pw一样,限制其尺寸,根本不需要拉伸。
12、附件尺寸限制:
pw只能设定所有附件的尺寸,而dz可以对个别格式的附件设定上传尺寸,比较灵活一些,特别适合一些flash网站,或者技术型网站(比如上传大尺寸图纸等)。
13、词语过滤:
pw只能使用普通方式过滤,不支持大小写(很简单的事情,官方就是不办,举手之劳啊)。
而dz不仅能识别大小写,而且具有了一定的模糊识别功能,相当不错了。当然,要是能直接支持正则表达式就更爽了。
14、自定义代码功能:
pw至今不支持自定义wincode代码,比较僵化。要增加功能,就只能修改js文件,太过麻烦。。。。
dz在这方面做的比较完美,要增加或者减少代码、修改播放界面尺寸都很容易,在后台设置一下就可以了
15、回收站功能:
dz可以设定自动清理,而pw不能
16、IP来源显示功能:
dz的IP地址和来源显示类似动网,看起来不太方便,需要点击小电脑图标才行。还是pw的IP地址来源显示看起来比较舒服一些。
17、防CC攻击:
pw早在432就增加了抗CC攻击功能,而且设置起来比较简单,新手也能看懂。当初俺就是因为这个原因才用了pw。
dz55虽然号称带有cc攻击防护,不过看起来比较难于理解,在后台找了半天也没找到,估计新手是操作不了的。当年某著名站长论坛(用dz)可就是被CC攻击搞的长期开不了张的,看起来dz的防CC攻击功能还有待改进。
18、备份功能
pw能支持对pw程序以外的数据表进行备份,而且判断标准不是根据表前缀。可以单独备份pw表以外的数据表,对于那些建立了新表的插件,备份数据超级容易,这方面比较人性化。
dz只是根据表前缀来进行备份,比如你设置一个表,叫做cdb_test,那么它会把它认为是论坛数据表而进行备份。但是如果你设置一个表,叫做test,那就自己想办法去吧。。。。
但是dz比pw强的是,备份可以压缩,压缩后下载和转存备份文件应该会节省巨大的空间和时间,对于超大型论坛应该是非常管用的。dz备份可以指定文件名,而且备份数据用十六进制表示(安全一些,但是占用空间会大一些),估计导入和恢复的中文内码问题就不会存在了。
19、文件和数据库校验:
dz内置了文件和数据库校验的功能,pw只是官方提供了一个文件校验工具,不过用起来有点莫明其妙,有时候提示使用的函数在php文件中根本不存在
20、主题推荐和相关贴功能:
dz通过qihoo实现了相关贴的功能,而且还可以支持主题推荐,这方面比pw强了很多。
21、模版和风格设置
phpwind可以在后台设置风格CSS文件,虽然新手不太容易上手,但确实还是比较方便的。
dz更进一步,把css的内容给解释成了表单的形式,让新手也能操作,不过带来的缺点更加大了:如果你想在CSS中增加控制(比如调整行间距等),就不知道该怎么弄了,只好去修改模版。好在dz还提供了一个附加功能:在后台可以直接修改模版,而且编辑界面中还带搜索功能,总算是亡羊补牢了
dz以较大优势在功能上超过pw,而且在dz有些胜过pw的功能上,好多都是以较大优势取胜。
资料来源:shop168com/article-3363html
discuz!是国内很出名很多人的用的开源免费的网站论坛程序。
Discuz!,是全球范围内用户量最大、覆盖面最广的社区论坛(BBS)产品。作为一套成熟的社区论坛解决方案,Discuz! 的每一次升级都引领着中国互联网的社区化、社交化潮流。经过七年多的发展,Discuz! 所建立的社区技术体系和人机交互模型,已成为了互联网社区产品事实上的标准,被广大用户和开发者广泛认同和采纳。
功能1:支持自动升级
之前,Discuz!每次发布新版本时,官方论坛的安装使用区就会出现大量升级求助帖。虽然有的资深站长对版本升级轻车熟路,但是对于那些新手站长和不懂技术的站长来说,很容易文件上传错误,或者权限没设置错误,升级总是失败。Discuz! X25特别推出了自动升级功能,支持站长点击后自动升级完毕。当Discuz! 官方发布新版本程序时,站长登录系统后台时就会看到一个提示信息,旁边有个“自动升级”的链接,点击即可进入自动升级流程。
互联网观察家丁道师认为:新版Discuz! X25推出了自动升级功能,一站式无人操管“傻瓜”升级,在方便站长的同时也大大增加了网站的安全性和易用性。
功能2:@功能会员互动
据了解,“@功能”的设计理念是:促进网站会员之间的交流,让会员和内容快速的互动起来。
对于网站来说,@功能能够促进会员互动,增加网站的会员活跃度以及网站人气;对于网站会员来说,可通过@功能让会员好友第一时间关注自己的话题,从而提高会员积极性。此外,会员和版主还能通过@功能来应用到网站活动与网站管理之中;例如会员发布新闻时,可以方便的联系管理人员及时的给予置顶或是加精;会员分享生活点滴时,可以及时的让好友来参与到话题讨论中;版主发布活动时,可以@会员号召他们参与其中。
@功能的具体使用方法是:在用户组权限中设置@功能的使用权限:首先可以设置该用户组是否可使用@功能,其次还可以设置@用户的数量。
某站长认为:作为互联网上最活跃的群体之一,身边的站长们几乎都已经开通了微博。而自己更是一个微博达人,乘车、吃饭都在发微博,并且喜欢@好友,让别人帮自己转发微博。这名站长认为,“@功能”是微博最大的特色之一,能够极大的调动自己的积极性,促进他与好友之间的互动。Discuz! X25版本把微博之中的@功能移植到论坛中之后,将极大的促进网站会员之间的互动性,从而给社区带来崭新变化。
功能3:支持在线裁切
帖子推送功能受到广大站长的喜爱,同时也给网站的编辑同仁们带来了不小的压力,图文展示的模块能够吸引大量的会员点击,站长们要求编辑推送时要漂亮的,不再只是系统自动调用的,为了实现这个很简单的需求,编辑们每天要进行以下8个操作才能完成:
1、从网络上找到相关的
2、下载到自己的电脑中
3、通过处理软件(例如PS,还要学习如何处理)进行处理成合适的大小
4、不同的模块大小不同,还要进行多次处理
5、传到帖子中
6、通过推送进行调用(这时发现无法选择被处理的)
7、再次打开帖子,找到帖子中处理好的地址进行复制
8、把地址复制到推送的里
编辑每次都要通过以上的步骤才能完成一个高质量的帖子推送,目前的方式极大的增加了工作量。纠结!纠结!
我们在Discuz! X25中首次引入在线裁切的功能,如要完成上述工作只需一步!
推送时,可以选择帖子里的任意作为推送的,同时可以对其进行大小裁切,一步完成!
功能4:新门户系统重磅出击
新门户系统主要从内容推送、裁切、模块管理等角度进行了深度优化,拟帮助站长和编辑更加省时省力地运维网站,提高网站运营管理效率。
1 模块标识直接显示在DIY页面中,方便对号入座
一般情况下,一个门户网站的频道页有20—40个栏目模块不足为奇,当编辑更新某一个模块内容时,需要花很多时间去查找相应的模块。例如,某网站编辑小S要更新首页婚嫁区域精品推荐的内容,那么小S就要把首页众多的模块一个一个点开,然后通过查看模块的标识来确认要更新的模块,找出这个模块很是费时。为了省去编辑不断查找模块的繁琐操作,Discuz!X25对模块进行了编号,即编辑通过数字可快速查找到需要更新和修改的模块。
2对模块内数据进行状态标识,数据状态清晰可见
编辑在查看某个模块内某一条数据状态时,往往感觉困难重重。因为模块内数据很多,更新比较频繁,而且一个模块要经过多人操作,因此极大地增加了识别的难度,这无疑成了影响编辑工作效率的一个软肋。为了减轻编辑的痛苦,Discuz! X25中对每一条数据的来源做了状态标示,编辑可以一目了然地查看每一条数据的状态。
3模块编辑有数字提示,从此不必再数数
很多网站编辑在处理数据或推送数据时,为了达到更美观的显示效果,往往严格控制标题显示字数,或者按模块设置标题字数的要求进行处理。那么,编辑就要一个字一个字的去数,看是否满足长度。为了减轻编辑数数的痛苦,Discuz! X25中新增加了处理数据时对标题及描述的字数实时提示,避免了数数的尴尬。实时提示当前正在输入的字数,如果超过模块规定字数也会提示已超过多少(编辑模块数据及推送内容时都有显示)。
据悉,Discuz! X25新门户系统的细节优化并不仅限于此,还有例如:对文章编辑器的优化、相关文章可在阅读页设置、被推送的内容及时通知作者、模块管理中可以直接添加数据等。更多贴心的优化,敬请期待。
Discuz!自创立之初以鲜明的特色赢得了媒体的广泛关注:中央电视台、北京电视台、《电脑报》、《中国青年》、《大学周刊》、《21st Century》、大连人民广播电台、网易、新华网、PC Online等、等电视、广播、期刊和网络媒体纷纷对Discuz!的发展历程进行了报道。 2010年8月23日,中国服务用户最多的互联网企业腾讯公司和中国最大的社区软件平台及服务提供商康盛创想(Comsenz)联合宣布,双方已达成收购协议,康盛创想将成为腾讯的全资子公司,具体交易将在完成。
作为中国最专业的社区软件平台开发商之一,康盛创想旗下的Discuz!是全球范围内用户量最大、覆盖面最广的社区软件平台,拥有超过140万家网站用户,也是企业和网站主首选的社区与网站建设平台。在Alexa中国排名前1500家网站中,超过70%的网站选择第三方社区平台时采用了Discuz!的解决方案。
Discuz!X25版本在互联网站长中顺利发布!
下面我们来介绍下Discuz的新功能吧!
功能1:支持自动升级
之前,Discuz!每次发布新版本时,官方论坛的安装使用区就会出现大量升级求助帖。虽然有的资深站长对版本升级轻车熟路,但是对于那些新手站长和不懂技术的站长来说,很容易文件上传错误,或者权限没设置错误,升级总是失败。
功能2:@功能会员互动
据了解,“@功能”的设计理念是:促进网站会员之间的交流,让会员和内容快速的互动起来。
对于网站来说,@功能能够促进会员互动,增加网站的会员活跃度以及网站人气;对于网站会员来说,可通过@功能让会员好友第一时间关注自己的话题,从而提高会员积极性。此外,会员和版主还能通过@功能来应用到网站活动与网站管理之中;例如会员发布新闻时,可以方便的联系管理人员及时的给予置顶或是加精;会员分享生活点滴时,可以及时的让好友来参与到话题讨论中;版主发布活动时,可以@会员号召他们参与其中。
@功能的具体使用方法是:在用户组权限中设置@功能的使用权限:首先可以设置该用户组是否可使用@功能,其次还可以设置@用户的数量。
某站长认为:作为互联网上最活跃的群体之一,身边的站长们几乎都已经开通了微博。而自己更是一个微博达人,乘车、吃饭都在发微博,并且喜欢@好友,让别人帮自己转发微博。这名站长认为,“@功能”是微博最大的特色之一,能够极大的调动自己的积极性,促进他与好友之间的互动。Discuz! X25版本把微博之中的@功能移植到论坛中之后,将极大的促进网站会员之间的互动性,从而给社区带来崭新变化。
功能3:支持在线裁切
帖子推送功能受到广大站长的喜爱,同时也给网站的编辑同仁们带来了不小的压力,图文展示的模块能够吸引大量的会员点击,站长们要求编辑推送时要漂亮的,不再只是系统自动调用的,为了实现这个很简单的需求,编辑们每天要进行以下8个操作才能完成:
1、从网络上找到相关的
2、下载到自己的电脑中
3、通过处理软件(例如PS,还要学习如何处理)进行处理成合适的大小
4、不同的模块大小不同,还要进行多次处理
5、传到帖子中
6、通过推送进行调用(这时发现无法选择被处理的)
7、再次打开帖子,找到帖子中处理好的地址进行复制
8、把地址复制到推送的里
编辑每次都要通过以上的步骤才能完成一个高质量的帖子推送,的方式极大的增加了工作量。纠结!纠结!
Discuz! 在Discuz! X25中首次引入在线裁切的功能,如要完成上述工作只需一步!
推送时,可以选择帖子里的任意作为推送的,同时可以对其进行大小裁切,一步完成!
Discuz已经成长了10年!这十年我们一直努力!
后台支持自动升级
之前,Discuz! 每次发布新版本时,官方论坛的安装使用区就会出现大量升级求助帖。虽然有的资深站长对版本升级轻车熟路,但是对于那些新手站长和不懂技术的站长来说,很容易文件上传错误,或者权限没设置错误,升级总是失败。
Discuz! X25新技术体系之安全中心 支持安全补丁自动更新
“安全中心免去了站长手工更新补丁的烦恼,从而让站长把更多的精力投入到网站运营之中。”
应用场景:
长久以来,站长们要么因为安全意识不强,要么因为忙着运营网站,而常常忘记给网站打上安全补丁,从而遭遇黑客攻击。一位站长在受到黑客攻击时说:“做网站要专心在运营上,哪有那么多时间盯着Discuz! 官方论坛,升级安全补丁呢?”
用户需求:
站长希望能够更加方便、简单的升级安全补丁,只要有新的安全补丁发布,站长就能在前台看到提示,然后见几下鼠标在后台完成打补丁的过程。就像是Windowsupdate 一样,操作简单,使用方便,从此不必让站长为网站安全补丁操心,可以一心一意运营网站。
设计理念:
让安全补丁像Windows update 一样自动升级、方便。
使用操作:
每次有新的安全补丁发布,站长在论坛前台都可以看到更新提示。同时,为了便于站长集中管理论坛,Discuz!把论坛升级、安全中心等设置都集中放在后台“站长”模块之下。进入后台点击“站长”,即可看到新增加的“安全中心”,里面列出了以前打过的补丁和当前需要打的补丁。站长选中需要升级的补丁列表,点击“修复”按钮,可一键自动安装。 一、下载Discuz! X25RC 官方版到本地或者服务器上
二、解压并上传 Discuz!X25RC 程序到服务器且修改相应目录权限
将其中upload目录下的所有文件使用FTP软件以二进制方式上传到空间。
三、安装过程
上传完毕后,开始在浏览器中安装Discuz! X25RC,在浏览器中运行 域名/install/ 开始全新安装 NET领域: 近乎(英文:Spacebuilder):SpaceBuilder是一款基于net技术业内领先的Web20社区平台。使用预置的博客、相册、文件、网摘、迷你博客、资讯、论坛、活动、圈子等应用模块,可以快速的搭建web20在线社区。借助SpaceBuilder平台的服务(用户、朋友、私信、邀请、权限、审核、隐私、积分、通知、动态、标签、分类、附件…),二次开发者可以快速的增加新的应用模块或者对现有的应用模块进行修改。目前最新版是v41并且从v40版本开始,Spacebuilder走向了开放源码的道路,这在NET领域引起了轰动。2013年8月,Spacebuilder正式采用中文名“近乎”,希望使用近乎搭建的站点,可以拉近站点用户之间的距离,让用户之间更加近乎。
PHP领域:
PHPWind(简称:PW)是一个基于PHP和MySQL的论坛程序,是国内最受欢迎的通用型论坛程序之一。PHPWind的前身是ofstar,发布于2004年,王学集和林耀纳是它的创始人。 PHPWind由杭州信息技术有限公司开发,分商业版和免费版,但在功能和版本上没有区别,软件全面开源免费。版本现已已有累积超过60万的用户。 ThinkSNS:ThinkSNS致力于微博SNS在商业领域的应用,力争成为更全面和完善的Social Software产品与服务提供商ThinkSNS 是基于互联网web20思想开发的老牌SNS系统,开始于2008年,其间经历了从 10→16→20→23→25→28→V3多个大版本的迭代,最新版本为V3。
2002 年,CDB 开发组开始注重基础技术的积累,具备了一定的自身技术实力后,开始着手 CDB 的项目定位的改变,即将其从学习与研究的层次提高到产品的层次。2002 年中到 2003 年初,CDB 开发组将这一时期的技术积累,应用到整个项目中,耗时半年多时间,对 CDB 的代码进行了 100% 重新编写和架构,并将 CDB 改名为 Discuz!,即“令人惊异的讨论区”的意思。
2003 年初,开发组对论坛软件的核心技术取得了重大突破,在国内外现有产品中创新性的实现了 PHP 语法生成内核、缓存自动创建与更新机制、编译模板系统等独有技术,这些核心技术的应用使得 Discuz! 在效能和负载能力上取得了巨大的提升,应用了这些新技术的 Discuz! 200 版本也以商业软件的方式发行。期间 Discuz! 开发组也进行了初步的企业化运营的尝试,获得了宝贵的经验。 虽然 200 版本应用了很多独有的新技术,但因为经验不足、宣传不到位及商业软件在中国大陆市场的巨大阻力等原因,200 版本并没有取得预期的市场进展,面对众多从未经历过的问题与困难,Discuz! 开发组决定再次进行产品的转型,即将 Discuz! 的定位从普通软件产品向商业化软件产品的层次升级。经过半年多的潜心开发,一个用商业软件标准规范和约束,面向高要求和苛刻使用环境的新商业版本 Discuz! 300 面世了。
300 发布后,无论在技术上和市场上都获得了用户的广泛好评,成为 Discuz! 第一个成功的商业版本,之后几次基于本版本的小规模升级,使得 Discuz! 逐渐达到真正商业软件的标准,稳定性、速度、兼容性、安全性等关键指标均大大超过以往,获得了用户的认可,商业用户遍及中国大陆、香港、台湾、北美、欧洲、澳洲、马来西亚等国家和地区,Discuz! 项目开始渐入佳境。 居安思危,Discuz! 开发组始终关注着产品和技术的最新动向,以将产品做强做大为己任,正视一切差距和不足,着力在多个方面实现可持续发展。Discuz! 项目创始人戴志康于 2004 年 2 月注资 50 万元人民币组建康盛创想(北京)科技有限公司,同期被北京市科学技术委员会认定为高新技术企业,同年 6 月获得北京市通信管理局颁发的经营性互联网业务许可(ICP证)。
必须至少具备如下技能:
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后台所有的功能,均需要注册到admincpphp文件,每个功能都至少有一个或一个以上的Action(动作),在
admincpphp中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2
admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为actionincphp(incphp),并存放在
admin目录下,如执行:admincpphpaction=dodo,相当于执行admin目录下的dodoincphp文件
b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:
首页:indexphp
会员注册:registerphp;
会员登录:loggingphp
发贴程序:postphp
会员信息:memberphp
论坛内容:forumdisplayphp
查看贴子:viewthreadphp
…大部分功能,此处不一一列出…
c) DZ根目下的configincphp属于整个DZ系统的配置文件
四) Discuz!的数据处理过程
a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysqlclassphp)类中
b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
五) Discuz!的显示控制(网站多样式风格输出)
a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档
b) DZ网站风格文件处理的原理:其实很简单,DZ使用templatefuncphp中的parse_template()以PHP正则运算把htm模
文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六) DZ中的语言处理
a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的langphp文件中,DZ在生成网站风格时就加载了这相应的语言包。
七) DZ如何处理用户信息(存取、计算、更新过程)
新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。
a) DZ的基本信息,如用户信息,Session信息存在如下变量中:
a) $_DCACHE
b) $_COOKIE
c) $_DCOOKIE
d) $_DSESSION
e) $_DPLUGIN
b) 可以通过print_r($GLOBALS),打印全部变量
八) DZ中缓存处理机制
a) DZ中缓存处理过程都放在“cachefuncphp”中,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代码
0条评论