构建您的第一个应用程序

概述

本教程旨在向您介绍 CodeIgniter4 框架和 MVC 架构的基本原理。它将逐步向您展示如何构建一个基本的 CodeIgniter 应用程序。

如果您不熟悉 PHP,我们建议您在继续之前查看 W3Schools PHP 教程

在本教程中,您将创建一个**基本的新闻应用程序**。您将从编写可以加载静态页面的代码开始。接下来,您将创建一个新闻部分,从数据库中读取新闻条目。最后,您将添加一个表单来在数据库中创建新闻条目。

本教程将主要关注

  • 模型-视图-控制器基础

  • 路由基础

  • 表单验证

  • 使用 CodeIgniter 的模型执行基本数据库查询

整个教程分为多个页面,每个页面解释 CodeIgniter 框架功能的一小部分。您将浏览以下页面

  • 简介,本页,概述了您应该期待的内容,并让您的默认应用程序下载并运行。

  • 静态页面,它将教您控制器、视图和路由的基础知识。

  • 新闻部分,您将在其中开始使用模型并进行一些基本的数据库操作。

  • 创建新闻条目,它将介绍更高级的数据库操作和表单验证。

  • 结论,它将为您提供有关进一步阅读和其他资源的一些提示。

享受您对 CodeIgniter 框架的探索。

启动和运行

安装 CodeIgniter

您可以从网站手动下载版本,但对于本教程,我们将使用推荐的方式,通过 Composer 安装 AppStarter 包。从您的命令行输入以下内容

composer create-project codeigniter4/appstarter ci-news

这将创建一个新文件夹,ci-news,其中包含您的应用程序代码,CodeIgniter 安装在 vendor 文件夹中。

设置开发模式

默认情况下,CodeIgniter 在生产模式下启动。这是一个安全功能,可以防止您的网站在上线后设置出现问题时变得更加安全。所以首先让我们解决这个问题。复制或重命名env文件到.env。打开它。

此文件包含特定于服务器的设置。这意味着您永远不需要将任何敏感信息提交到您的版本控制系统。它包含了一些您想要输入的最常见的设置,尽管它们都被注释掉了。所以取消注释包含 CI_ENVIRONMENT 的行,并将 production 更改为 development

CI_ENVIRONMENT = development

运行开发服务器

现在,让我们在浏览器中查看您的应用程序。您可以通过您选择的任何服务器(例如 Apache、nginx 等)来提供服务,但 CodeIgniter 带有一个简单的命令,它利用 PHP 的内置服务器,让您能够快速在开发机器上运行。在项目的根目录下,在命令行中输入以下内容:

php spark serve

欢迎页面

现在将您的浏览器指向正确的 URL,您将看到一个欢迎屏幕。现在尝试访问以下 URL:

http://localhost:8080

您应该会看到以下页面:

../_images/welcome.png

这意味着您的应用程序可以正常工作,您可以开始对其进行更改。

调试

调试工具栏

现在您处于开发模式,您将在应用程序的右下角看到 CodeIgniter 的火焰。点击它,您将看到调试工具栏。

此工具栏包含许多有用的项目,您可以在开发过程中参考它们。这在生产环境中永远不会显示。点击底部任何选项卡都会显示更多信息。点击工具栏右侧的 X 会将其最小化成一个带有 CodeIgniter 火焰的小方块。如果您点击它,工具栏将再次显示。

../_images/debugbar.png

错误页面

此外,当您在程序中遇到异常或其他错误时,CodeIgniter 有一些有用的错误页面。打开 **app/Controllers/Home.php** 并更改一些行以生成错误(删除分号或大括号应该可以解决问题!)。您将看到一个类似于以下屏幕的页面:

../_images/error.png

这里需要注意一些事项:

  1. 将鼠标悬停在顶部的红色标题上会显示一个 **搜索** 链接,该链接将在新标签页中打开 DuckDuckGo.com 并搜索该异常。

  2. 点击回溯中任何行上的 **参数** 链接将展开一个传递给该函数调用的参数列表。

当您看到其他内容时,应该很清楚。

现在我们已经了解了如何开始以及如何进行一些调试,让我们开始构建这个小型新闻应用程序。