怎么进行discuz的二次开发
必须至少具备如下技能:
1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)
2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用
3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳
4) 熟悉使用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代码
JAVA开发开发框架多达几十种,瑭锦Tanjurd总结列举了3种最常见也是最常用方便的3种工具:
1、Struts:Struts是一个基于Sun J2EE的MVC框架,主要是采用Servlet和JSP技术来实现的
2、Spring:Spring是轻量级的J2EE应用程序框架。
3、Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化。它还可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用
discuzX是SNS+博客+论坛+圈子的产品
supesite是一个可以从博客论坛中提取内容也可以添加内容的内容管理系统
X-space是博客系统
DiscuzNT是net版本的论坛。
discuzx最高版本是15明天下午1点就会发布。
discuz最高版本是72
一、下载 Discuz 官方版到本地或者服务器上
二、解压并上传 Discuz! X 程序到服务器且修改相应目录权限
1、上传 Discuz 程序到服务器上
解压缩得到如下图所示的三个文件:
upload 这个目录下面的所有文件是我们需要上传到服务器上的可用程序文件;
readme 目录为产品介绍、授权、安装、升级、转换以及版本更新日志说明;
utility 目录为论坛附带工具,包括升级程序。
将其中 upload 目录下的所有文件使用 FTP 软件以二进制方式
上传到空间。
2、设置相关目录的文件属性,以便数据文件可以被程序正确读写
使用 FTP 软件登录您的服务器,将服务器上以下目录、以及该目录下面的所有文件的属性设置为 777,Win 主机请设置 internet 来宾帐户可读写属性。
/config/config_globalphp
/config/config_ucenterphp
/config
/data
/data/avatar
三、安装过程
上传完毕后,开始安装 Discuz社区软件,在浏览器中运行 http://wwwdomaincom/bbs/install/ 开始全新安装(其中 http://wwwdomaincom/bbs 为你的站点访问地址
/data/imagecache
/data/plugindata
/data/sysdata
/data/request
/data/template
/data/threadcache
/data/attachment
/data/attachment/album
/data/attachment/forum
/data/attachment/group
/data/log
/uc_client/data/cache
/uc_server/data/
/uc_server/data/cache
/uc_server/data/avatar
/uc_server/data/backup
/uc_server/data/logs
/uc_server/data/tmp
/uc_server/data/view
阅读授权协议后点击“我同意”,系统会自动检查环境及文件目录权限,
检测成功,点击“下一步”,即进入检测服务器环境以及设置 UCenter 界面,
1、选择“全新安装 Discuz (含 UCenter Server)”
如果您之前没有安装过我们的产品,需要全新安装的话,请选择此项。
2、选择“仅安装 Discuz (手工指定已经安装的 UCenter Server )”
如果您之前安装过我们的产品,现在只是
升级的话,请选择此项并保证之前的 UCenter 是 UCenter 160 版本,如果之前安装的 UCenter Server
没有进行升级操作的话,一般为 151 版本,您需要首先升级 Ucenter 到 160 版本,
否则安装程序会提示错误,无法继续。这里以全新安装 Discuz! X 为例。
点击“下一步”,进入安装数据库的界面,
填写好 Discuz数据库信息及管理员信息。
附加数据:为测试数据,可以不选择安装,主要是演示专题和完整地区数据。
同时这里可以选择站点默认是否开启“门户、家园和群组功能”如果不选择开启,安装后也可以在后台开启相应的功能。
点击“下一步”,系统会自动安装数据库直至完毕,
安装成功后,会出现如下的界面:
安装完毕后进入 Discuz! X 首页查看网站:
至此,Discuz! X 已经成功地安装完毕!您可以登录 Discuz! X 站点并开始设置了。
powerbydiscuz可以换:Discuz!X,Phpwind,MyBB,Flarum。
1、Discuz!X:Discuz!X是原版Discuz!论坛程序的升级版,提供了更多的功能和扩展性。
2、Phpwind:Phpwind是一款开源的社区论坛程序,拥有丰富的功能和插件,可以满足不同类型的社区需求。
3、MyBB:MyBB是一款开源的轻量级论坛程序,界面简洁易用,适合小型社区使用。
4、Flarum:Flarum是一款新型的论坛程序,采用现代化的技术,具有良好的用户体验和扩展性。
Discuz_X1_SC_GBK 简体中文GBK版本 Discuz_X1_SC_UTF8 简体中文UTF8版本 UTF8和GBK区别就是编码不同。 两个都是X1版本的,70 72 75 到现在的X1版
0条评论