如何使用 PHP 创建面向对象的博客
在这篇文章中,我们将通过创建一个简单的博客来进一步扩展我们对 PHP 和 MySQL 的知识。虽然市场上有无数优秀的免费博客平台,但本教程的目的是探索创建博客网站的过程,以学习高级数据库结构技术以及如何利用 PHP 中的面向对象编程更有效地使用数据。
对于本教程,我假设您对 PHP、MySQL 和 XHTML 有一些基本的了解。
浏览数据库结构
在我们进入 MySQL 客户端并开始创建表之前,我们应该在博客中列出我们想要的内容。我们需要包含的明显内容是博客文章,每个帖子都应包含标题、帖子本身、作者以及发布日期。
现在,我们只需创建一个表来保存该信息,并且很可能成功创建一个基本博客。然而,如果只有一张表,我们对数据的控制就没有那么多。例如,我们可以将作者的姓名存储在与博客文章相同的表中,但如果我们还想存储作者的电子邮件怎么办?在我们的表中添加另一个字段将是显而易见的解决方案。
当您以后想要更改该作者的电子邮件地址时,就会出现问题。现在,您必须为该人创建的每一篇博客文章更改它。
因此,我们要做的是创建一个名为 people
的单独表,其中可以存储有关作者的所有信息,例如电子邮件、URL、姓名和唯一 ID。然后,在我们的 blog_posts
表中,我们将通过该人的唯一 ID 来引用该人。该 ID 称为外键,people
表和 blog_posts
表之间的关系称为一对多关系,因为同一个人可以创建多个博客帖子。
除此之外,我们还希望提供为每篇博客文章附加标签的功能。一篇博客文章可以附加多个标签,因此这是一种一对多的关系。为此,我们需要创建另一个表,其名称可以类似于 blog_post_tags
。该表将包含两个外键:一个用于博客文章的 ID,另一个用于与博客文章关联的标签的 ID。通过这种方式,我们可以为博客文章分配任意数量的标签,并且仍然能够使用简单的 MySQL 查询在所有帖子中编辑有关该特定标签的信息。当然,我们还需要 tags
表,它保存实际的标签,它有两个字段:id 和 name。
现在我们已经概述了数据库结构应该是什么样子,让我们继续创建它。我将使用 PhpMyAdmin,因为它是使用最广泛的 MySQL 管理客户端并且易于使用。创建数据库、表和字段名称时可以使用几种不同的命名约定。我喜欢使用所有小写字母和下划线来代替空格。您应该避免使用大写字符,因为这被认为是最佳实践之一。
如果您的系统或可以运行它们的服务器上没有 PHP 和 MySQL,我建议您下载 Apache、PHP 和 MySQL 的独立安装。 MAMP 适用于 Mac,WAMP 适用于 PC。
创建数据库和表
在本节中,我们将继续为我们的博客网站创建数据库和必要的表格。
让我们继续创建一个名为 code_tutsplus_blog
的新数据库。您可以使用 PhpMyAdmin 或 MySQL CLI 中的以下 MySQL 命令来创建新数据库:
CREATE DATABASE code_tutsplus_blog; 登录后复制