最好最实用的织梦二次开发教程

◆二次开发

  什么是二次开发?

  二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。

 

  为什么要二次开发?

  随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或是软件公司。选择和应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息化成本(时间成本及开发成本)的同时,更能带来技术上的保障。这就是我们常听的:站在巨人的肩膀上,你将看的更远。所以国内很多公司需要二次开发的人才。

 

  怎么做二次开发?

  第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的。

  第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。

  第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。

  第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求介绍PHP的开源

 

产品的二次开发的基本要求:

  第一, 基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javascript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的)

  第二, 熟悉开源产品的使用,比如 Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章模板标签的使用方法,模型的概念和使用方法等等一些功能

  第三, 要熟悉这个开源产品的数据库结构,还要理解里面核心文件的内容,比如:数据库类怎么使用,常用的安全过滤是怎么做的,模板引擎又是怎么使用的等等一些核心内容。还要知道这个开源产品的目录结构,就是说,你要知道哪是放模板的,哪里是做控制的,哪里是放样式的,等等

  第四, 熟悉你的需求,对需求进行解读,然后确定如何对这个开源产品进行修改和扩展

 

  经过二次开发后,你能获取到的是什么呢?

  你能完成你的需求,你能积累经验,这里的经验有你自己的,也有别人的。所谓别人的,就是在你做这个二次开发的时候,你能吸收到这个系统的精华,然后融入到你自己的思想里,你还能总结项目架构的经验。有句话说的好,就是:聪明的人会把别人的失败的经验当作自己的经验,而傻的人就是自己无数次体验失败后才作为自己的经验。二次开发不仅仅是开发,而更重要的是吸取精华,总结经验,理顺思路,少走弯路,提升自己。

 

  ◆DedeCMS二次开发

  为了让更多人了解二次开发,并更方便的了解DedeCMS的二次开发,下面将会简单的介绍关于DedeCMS二次开发的一些基础和大纲

  DedeCMS二次开发必备基础:

  · 非常熟悉HTML

  · 熟悉DIV+CSS的布局

  · 扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用

  · 熟悉MYSQL,掌握SQL语言

  DedeCMS二次开发学习过程

  · 理解CMS是什么

  · 熟悉DedeCMS的功能(如:栏目的分类,文档管理,模型的使用,系统的设置等常用的功能)

  · 掌握DedeCMS的模板标签使用及原理

  · DedeCMS目录结构分析

  

熟悉每个文件夹里面主要装什么文件,这样在二次开发的时候知道在哪个文件夹下的什么文件修改

  

目录结构摘要:

  ./a 生成文件存放路径

  ./data 缓存文件及数据中心

  /admin 管理后台数据

  /backupdata 备份数据

  /cache 缓存文件

  /enums 级别联动数据,JS,枚举类型的缓存文件

  /js 常用的JS

  /mark 水印相关文件

  /module 模块安装文件

  /rss Rss相关

  /sessions Session 存放路径

  /textdata 文本数据

  /tplcache 模板缓存

  /uploadtmp 上传文件缓存位置

  /ziptmp zip包解压缓存位置

  ……

  DedeCMS文件结构分析

  熟悉每个文件的基本功能,方便做修改,知道每个文件的大概作用之后,可以方便的对文件进行修改

  文件结构摘要:

  common.inc.php 数据库配置文件

  config.cache.bak.php 后台系统配置备份

  config.cache.inc.php 后台系统配置文件缓存

  downmix.data.php 采集混淆缓存文件

  mysql_error_track.inc MYSQL错误日志

  safequestions.php 安全问题

  sitemap.html 站点地图

  sys_pay.cache.php 支付网关配置

  template.rand.php 随机模板设置

  ……

  · DedeCMS数据库结构分析,至少要熟悉每个表的作用

  熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字段,还是新建表来处理。同时也能理解DedeCMS的数据库设计思想,把有用的设计思路加到自己的系统中。

  · DedeCMS的流程控制,及一些核心文件的解析

  熟悉一些登陆,注册,文档管理,权限控制,分类管理,模型设置等一些常用流程控制。对几个核心文件进行解剖,了解其编程技巧及安全机制

  · DedeCMS插件的开发(****式插件和内嵌式插件)

  熟悉两种插件的编写,插件的导入导出,插件搭配模型的使用