DedeCMS 是使用 PHP 语言和 MySQL 数据库开发的开源内容管理系统。
下面我们从几个方面来详细分解它的技术构成:
核心技术栈
DedeCMS 的技术栈非常经典,是早期 PHP 开发领域的主流组合:
-
后端语言: PHP
DedeCMS 的所有核心功能、逻辑处理、数据库交互等都是用 PHP 编写的,它支持 PHP 5.2 到 PHP 7.x 的多个版本(不同版本的支持情况略有差异,但以 PHP 5.x 时代最为流行)。
-
数据库: MySQL
网站的所有内容数据,如文章、栏目、会员、商品等,都存储在 MySQL 数据库中,DedeCMS 通过 PHP 的 MySQL 函数或 PDO (PHP Data Objects) 扩展来与数据库进行通信,实现数据的增删改查。
-
前端技术: HTML, CSS, JavaScript
- 这是构成网页的基础。
- HTML: 用于搭建网页的结构和骨架。
- CSS: 用于定义网页的样式和布局,如颜色、字体、间距等,DedeCMS 使用了其早期非常流行的模板引擎,将 CSS 样式与 PHP 代码分离,方便用户通过修改模板文件来改变网站外观。
- JavaScript: 用于实现网页的动态效果和交互功能。
模板引擎 (Template Engine)
这是 DedeCMS 一个非常重要的特点和核心技术,它采用了自己的一套模板引擎,实现了“代码与内容分离”的理念。
-
工作原理:
- 模板文件: 网站的页面布局(如首页、列表页、内容页)被设计成
.htm后缀的静态模板文件,这些文件里包含 HTML 代码和一些特殊的 DedeCMS 标签,{dede:arclist}(调用文章列表)、{dede:field.title/}(获取文章标题)等。 - 程序解析: 当用户访问网站时,DedeCMS 的 PHP 程序会读取对应的模板文件。
- 标签替换: 程序会解析模板中的所有 DedeCMS 标签,从数据库中获取对应的数据(如文章列表、标题、内容等),然后用真实数据替换掉这些标签。
- 生成输出: 程序将替换后的 HTML 代码发送到用户的浏览器。
- 模板文件: 网站的页面布局(如首页、列表页、内容页)被设计成
-
优点:
- 易于维护: 网站的程序员可以专注于 PHP 代码的开发,而美工或网站编辑则可以只修改
.htm模板文件来改变网站外观,两者互不干扰。 - 降低门槛: 即使不懂 PHP,只要了解 DedeCMS 的标签语法,就可以搭建和管理网站。
- 易于维护: 网站的程序员可以专注于 PHP 代码的开发,而美工或网站编辑则可以只修改
架构特点
-
基于 PHP 的 MVC 思想(早期版本):
- 虽然没有严格遵循现代的 MVC (Model-View-Controller) 模式,但 DedeCMS 的架构已经体现了类似的思想:
- Model (模型): 对应
include目录下的功能类文件,负责处理数据逻辑和数据库交互。 - View (视图): 对应
templets目录下的模板文件,负责展示数据。 - Controller (控制器): 对应根目录下的各种
.php文件(如index.php,list.php,article_article.php),负责接收用户请求,调用 Model 处理数据,并选择合适的 View 进行展示。
- Model (模型): 对应
- 虽然没有严格遵循现代的 MVC (Model-View-Controller) 模式,但 DedeCMS 的架构已经体现了类似的思想:
-
文件结构: DedeCMS 的目录结构非常清晰,各个文件夹的职责分明:
- 根目录,包含核心的程序入口文件。
/dede/: 后台管理程序目录。/templets/: 网站前台和后台的模板文件目录。/include/: 核心功能类库和函数库。/special/: 专题目录。/uploads/: 上传文件目录(图片、附件等)。
开发环境与运行环境
- 服务器: 需要运行在支持 PHP 和 MySQL 的 Web 服务器上,最经典的组合是 Apache + PHP + MySQL,也就是我们常说的 LAMP 架构(Linux, Apache, MySQL, PHP),它也完全支持 Nginx + PHP + MySQL 的 LNMP 架构。
| 特性 | 描述 |
|---|---|
| 开发语言 | PHP |
| 数据库 | MySQL |
| 前端技术 | HTML, CSS, JavaScript |
| 核心技术 | 自研的 PHP 模板引擎,实现代码与内容分离 |
| 架构模式 | 基于早期 PHP 的 MVC 思想 |
| 服务器环境 | LAMP (Linux + Apache + MySQL + PHP) 或 LNMP (Linux + Nginx + MySQL + PHP) |
DedeCMS 是一个使用 PHP + MySQL 技术栈,并以其独特的模板引擎系统而闻名的经典开源内容管理系统,它因其简单易用、模板丰富、插件众多,在 2005 年至 2025 年期间是中国非常流行的网站建站系统,尤其适用于企业官网、新闻资讯、博客、个人网站等,由于其技术架构相对老旧,近年来在安全性和性能方面受到了一些挑战,新项目已较少使用。
