开始之前
“使用 PHP 创建交互式生产 wiki”这一系列教程适用于想要开发自定义 wiki的 PHP 应用程序开发人员。您将定义应用程序的所有功能模块,从数据库到需要使用的 wiki 标记。在最终产品中,您将能够在粒度级配置应用程序的大部分功能模块,从“谁可编辑页面”到“博客的实际开放程度”。
学完本教程后,您将了解创建 wiki 所需的知识,包括定义 wiki 标记的注意事项、处理文件上传时可能遇到的缺陷和挑战,以及设置在其中按集合而不是按个体编辑内容的环境时涉及的一些暗含内容。某些这类问题可使 wiki 十分棘手,但是也可使 wiki 十分伟大。
本系列教程的第 1 部分将大致介绍框架。您将确定应用程序的布局、流程、作业和行为。将设计数据库并草拟某种框架。第 2 部分将主要介绍主要 wiki 开发,包括定义标记、跟踪更改和文件上传。在第 3 部分中,定义一些用户和组,以及控制访问各个 wiki 页面和上传文件的某些方面的方法。第 4 部分将处理日历和里程碑功能来跟踪针对设定目标的任务、待完成工作和进度。在第 5 部分中,将整合一个开放博客允许讨论关于生产主题和关注的话题。
PHP 是开发 Web 应用程序时的一种可选的流行语言。二进制版本和源版本都可用,不过二进制版本是 Windows® 专用的,源版本可以与大多数常见平台兼容。PHP 可以在大多数第三方托管公司都可获得。它易于学习,但同时,它十分强大、灵活而且有能力。所有这些特性使 PHP 成为编写 wiki 引擎的极佳选择。
本教程主要介绍应用程序设计。在满足了先决条件之后,您将了解应用程序的布局,并投入数据库设计和构建框架部件。您将构建自定义 PHP wiki 引擎的开头部分。但是并不将其称为“自定义 PHP wiki 引擎”,而是必须给它提供易记的名称,例如Criki。
主题包括:
- Wiki 的组成部分
- Criki 的架构
- 数据库设计
- 框架
开始之前,需要具备的工作环境。总体需求相当的低:
- 支持会话的 HTTP 服务器(并且最好启用了 mod_rewrite)。本教程使用的是启用了 mod_rewrite 的 Apache V1.3。
- PHP V4.3.2 或更高版本(包括 PHP V5)。本教程使用的是 PHP V5.0.4。
- 最近几年发布的任何版本的 MySQL。本教程使用的是 MySQL V4.1.15。
还需要准备好数据库和数据库用户以供应用程序使用。本教程将提供在 MySQL 中创建任何必要的表的语法。
此外,为了节省时间,我们将使用名为 CakePHP 的 PHP 框架来开发 Criki。访问 CakeForge.org 并下载最新的稳定版本的 CakePHP。本教程使用的是 V1.1.13。有关安装和配置 CakePHP 的信息,请参阅标题为“使用 CakePHP 快速打造 Web 站点”的系列教程(请参阅 参考资料)。
假定您具有使用 PHP 和 MySQL 的经验。我们将不会太过深入地探讨数据库优化,因此您只需了解基本的细节即可。您会发现下载并安装 phpMyAdmin(适用于 MySQL 数据库的基于浏览器的管理控制台)将非常有用。