怎么进行discuz的二次开发,第1张

必须至少具备如下技能:

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代码

Discuz! 论坛软件系统简介

论坛软件系统亦称电子公告板(BBS)系统,它伴随社区BBS的流行而成为互联网最重要的应用之一,也逐渐成为网站核心竞争力的标志性体现。2006年7月 CNNIC 发布的最新统计表明,432% 的中国网民经常使用论坛/BBS/讨论组,论坛社区应用首次超过即时通讯 IM ,成为仅次于收发Email的互联网基本应用。

Crossday Discuz! Board(以下简称 Discuz!,中国国家版权局著作权登记号 2006SR11895)是康盛创想(北京)科技有限公司(英文简称Comsenz)推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz! 的基础架构采用世界上最流行的 web 编程组合 PHP+MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。

作为国内最大的社区软件及服务提供商,Comsenz旗下的 Discuz! 开发组具有丰富的 web 应用程序设计经验,尤其在论坛产品及相关领域,经过长期创新性开发,掌握了一整套从算法,数据结构到产品安全性方面的领先技术。使得 Discuz! 无论在稳定性,负载能力,安全保障等方面都居于国内外同类产品领先地位。

自2001年6月面世以来,Discuz![1]已拥有五年以上的应用历史和三十多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。

[编辑本段]Discuz! 适用的应用领域

Discuz! 适用于以下的应用领域:

对稳定性和负载能力要求较高的门户网站

大中型企业的客户在线调查、技术与产品服务

企事业单位内部交流与沟通,办公协作与自动化(OA)

大中专院校的学生、教工与校友讨论区

已经发展到一定规模,具有相当访问量的个人网站

商业、交友、科技、影音、下载等等方面的专门网站

地方政府、电信公司或爱好者建立的地域性讨论区

以上仅是一些常见应用领域的举例,事实上,Discuz! 因其全面的功能设计和可圈点的安全防范,几乎适用于所有需要互动和交流功能的网站,尤其是已经具备相当规模,且经常因为服务器资源耗尽、安全问题或其他原因而损失人气的中大型应用案例。同时我们也不断吸取用户的意见和建议,在现有系统的基础上,降低应用门槛、简化和人性化使用操作,有的放矢的进行功能扩充,使 Discuz! 适用于更多的应用领域。

Discuz! 产品特色

卓越的访问速度和负载能力

Discuz! 从创立之初即以提高产品效率为突破口,随着编译模板、语法生成内核、数据缓存和自动更新机制等独创或独有技术的应用,以及坚固的数据结构与最少化数据库查询设计,使得 Discuz! 可以在极为繁忙的服务器环境下快速稳定运行,切实节约企业成本,提升企业形象。依据实际应用案例,在 P4 24G,1G RAM,IDE 硬盘的入门级服务器上,Discuz! 可以容纳 150 万篇帖子并稳定负载 2500 人/30 分钟在线的流量,最高可达 5000 人/30 分钟在线。在硬件配置稍好的环境中,如双 Xeon 24G,2G RAM,万转 SCSI 硬盘的服务器上,以上数字均实现了翻番,即容纳 300 万篇以上帖子,稳定负载 5000~8000 人/30 分钟在线,最高可超过 10000 人/30 分钟。如果采用 Web 和数据库分离的方式负载,并采用 RAID-5,各项指标可达到上述的二至三倍,即实现约 30000人/30 分钟在线。这样的负载能力完全可以满足中大型网站乃至门户网站的应用需求。

强大而完善的功能

除了一般论坛所具有的功能外,Discuz! 还提供了很大限度的个性化设定,力求做到功能设置的系统性、丰富性,功能使用的人性化、傻瓜化,需求定制的最大化、智能化。绝大多数功能均在后台预留开关,可按用户需要启用。前后台全部采用语言文件等国际化设计,前台采用 Discuz! 开发组自主开发的编译模板等先进技术,更换界面易如反掌。完善的权限设定,使管理员可控制到每个用户,每个组及所在每个分论坛的各种权限,满足应用于各种领域的论坛管理者。

国际化和标准化的产品架构

目前发布的版本分为简体中文、繁体中文和英文三个版本。自 Discuz! 20 以来,因其高效国际化内核的应用,使其成功走出国门,步入海外市场。我们十分重视在产品开发与推广的全过程中与国际接轨,时刻不忘中国软件走向世界的奋斗目标,专注于开发符合国际标准、具有国际影响力的中国软件产品,Discuz! 400 以后,Discuz! 开发组更加大了国际化的研发力度,通过良好的设计和有效的宣传,努力提高海外用户数量,提升 Discuz! 品牌的国际竞争力。

周密的安全部署和攻击防护,更一步的为您服务!!!!

经过近三年的经验和技术积累,Discuz! 在安全部署上已逐步走向成熟,全部商业客户论坛的稳定安全运行就是最好的例证。Discuz! 能有效处理页面格式,保证页面及表格的完整性。安全检查应用于每一个 Discuz! 代码中,可自动屏蔽贴子及签名等中的恶意代码和跨站脚本攻击。独有的全程操作记录,使论坛运行情况随时有据可查。

持久的创新和广阔的前景

Discuz! 拥有一支富于创新的开发队伍,持续性的技术优势和不断增长的市场经验,除了强化已有的市场竞争力以外,更增强了已有和潜在客户的信心。我们不满足于现有成果,追求产品设计的趋于完美。我们时刻关注国内外相关领域内的最新进展和动态,不断的进步和创新,已使越来越多的人相信 Discuz! 更加美好的明天。

如果您正在寻找一个出色的论坛解决方案,如果原有产品无法适应您企业的不断增长,如果您为不断提升的硬件需求而苦恼,如果您的网站因为服务器的不堪重负而停滞不前,Discuz! 将为您提供一个崭新的机遇和选择。

最新版本:Discuz! 700

利用discuz搭建付费社区,直接找那种下载类的源码就好,可以在Discuz网站模板区进行挑选,可以做素材、源码、视频类付费社区。

利用Discuz建设网站之前需要做好域名的解析和数据库的创建,做好这些之后进入Discuz官网下载最新版的源码,将其上传到网站根目录,就可以开始安装了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么进行discuz的二次开发

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情