本课程内容概览
了解本课程适合哪些人以及你将从中学习到什么内容。
本课程适合谁?
如果你已经掌握了 PHP 编程的基础知识,但在实际应用中仍感到困难,那么这门课程正是为你准备的。从“会写代码”到“构建可用的 Web 应用”,中间存在巨大的差距。本课程将帮助你跨越这一鸿沟。
要顺利学习本课程,你需要具备阅读和理解 PHP 代码的能力。
你将学到什么
在本课程中,你将学习 PHP Web 应用的后端开发。课程旨在让你掌握足够的知识,能够构建网站和移动应用的后端系统,同时深入理解 PHP 应用如何与外部环境进行交互。具体来说,你将学习:
- 如何将代码拆分为多个文件。
- 如何将大型项目分解为易于管理的部分。
- 如何使用数据库存储数据。
- 如何在不使用数据库的情况下保存数据。
- 如何实现自动化的应用程序测试。
- 如何使用库和框架来简化开发工作。
- 如何构建易于维护的应用程序。
完成本课程后,你将具备开始构建应用并运用所学技能的基础能力。
尽管课程聚焦于 PHP,但其中大部分内容也适用于通用的 Web 开发。因此,即使你未来使用其他语言,这些知识依然具有价值。
本课程不涵盖的内容
本课程不是文档的复述。它会提及你在开发过程中将使用的多种工具,但不会重复这些工具的官方文档。相反,它会提炼出你需要掌握的核心概念。
本课程并非面面俱到。部分提到的主题本身足够庞大,可独立成课。在这种情况下,课程仅提供足够的信息让你对主题有基本了解。你不会成为专家,但当需要时,你知道该去哪里查找更多信息。
本课程不追求简单化。它不会假装每个问题都有一个简单的答案。课程中的一些问题没有唯一的正确解法。在这种情况下,课程会分析每种方案的优缺点,最终由你根据实际情况做出选择。
课程章节
-
“与客户端通信”:第一章介绍 PHP 的工作原理。你将学习 Web 应用如何与客户端通信,以及 PHP 在其中扮演的角色。同时,你将熟悉 HTTP、HTML 和 REST API 的基本概念。
-
“小型项目(静态 Web 应用)”:你将通过一系列小型实践项目来巩固课程知识点。第一个项目是一个基于 HTML 文件的静态 Web 应用,使用 Bulma CSS 框架进行样式设计。
-
“代码文件结构”:本章讲解如何将代码拆分为多个文件并合理组织,同时介绍如何通过 Composer 引入开源代码。
-
“应用架构基础”:本章介绍应用架构的核心原则,如 MVC 架构和 SOLID 原则。这些原则能帮助你清晰地组织应用结构。
-
“小型项目(基于 PHP 的 Web 应用)”:我们将把第一个项目重构为 PHP 版本,构建一个基于 Symfony 框架的 MVC 应用。同时,我们还将引入六边形架构模式,并在课程末尾详细讲解其原理。
-
“状态存储”:本章介绍不依赖数据库的多种数据持久化方式,包括文件、会话和 APC 缓存。
-
“数据库”:由于数据库内容丰富,单独设立一章。你将学习关系型数据库的基础知识及其在 PHP 中的应用,同时初步接触 NoSQL 数据库。
-
“小型项目(在 PHP 应用中使用数据库)”:你将把前一个项目的全部数据迁移到 SQLite 数据库中。我们将使用 Doctrine,因为它比从零开始实现更高效。此外,还将自动生成 CRUD 表单用于数据编辑。
-
“测试”:本章介绍多种自动化测试类型及其使用方法。
-
“小型项目(测试 PHP 应用)”:我们将对前一个项目进行自动化测试覆盖。项目中将使用 PHPUnit、Prophecy 和 Doctrine Data Fixtures。
-
“高级架构模式”:本章带你初步了解更复杂的主题,如领域驱动设计和六边形架构。这不是完整的指南,但会提供一些值得你在编码中考虑的设计思路。
-
“下一步学习建议”:最后一章为后续学习提供一些方向性建议。
继续前行
一段精彩的旅程正等待着你。现在,让我们开始吧!