CodeIgniter - 应用程序架构
CodeIgniter 应用程序的架构如下所示。
如图所示,每当请求到达 CodeIgniter 时,它将首先转到 index.php 页面。
在第二步中,Routing 将决定是否将此请求传递到步骤 3 进行缓存,还是将此请求传递到步骤 4 进行安全检查。
如果请求的页面已经在 Caching 中,则 Routing 会将请求传递到步骤 3,并将响应返回给用户。
如果请求的页面不存在于缓存中,则路由会将请求的页面传递到步骤 4 进行安全检查。
在将请求传递给应用程序控制器之前,将检查提交数据的安全性。在安全性检查之后,应用程序控制器会加载必要的模型、库、助手、插件和脚本并将其传递给视图。
视图将使用可用数据呈现页面并将其传递给缓存。由于请求的页面之前没有缓存,因此这次它将被缓存在缓存中,以便快速处理此页面以供将来的请求。
目录结构
下图显示了 CodeIgniter 的目录结构。
CodeIgniter 目录结构分为 3 个文件夹 −
- Application
- System
- User_guide
Application
顾名思义,应用程序文件夹包含您正在构建的应用程序的所有代码。这是您将在其中开发项目的文件夹。应用程序文件夹包含其他几个文件夹,下面将对其进行说明 −
Cache − 此文件夹包含应用程序的所有缓存页面。这些缓存页面将提高访问页面的整体速度。
Config − 此文件夹包含用于配置应用程序的各种文件。借助 config.php 文件,用户可以配置应用程序。使用 database.php 文件,用户可以配置应用程序的数据库。
Controllers − 此文件夹包含应用程序的控制器。它是应用程序的基本部分。
Core − 此文件夹将包含应用程序的基类。
Helpers −在此文件夹中,您可以放置应用程序的帮助程序类。
Hooks − 此文件夹中的文件提供了一种无需破解核心文件即可利用和修改框架内部工作原理的方法。
Language − 此文件夹包含与语言相关的文件。
Libraries − 此文件夹包含为您的应用程序开发的库的文件。
Logs − 此文件夹包含与系统日志相关的文件。
Models − 数据库登录将放置在此文件夹中。
Third_party −在此文件夹中,您可以放置任何将用于您的应用程序的插件。
Views − 应用程序的 HTML 文件将放置在此文件夹中。
System
此文件夹包含 CodeIgniter 核心代码、库、帮助程序和其他文件,有助于简化编码。这些库和帮助程序在 Web 应用程序开发中加载和使用。
此文件夹包含所有 CodeIgniter 代码,组织到各个文件夹中 −
Core − 此文件夹包含 CodeIgniter 的核心类。请勿在此处修改任何内容。您的所有工作都将在应用程序文件夹中进行。即使您打算扩展 CodeIgniter 核心,您也必须使用钩子来实现,而钩子位于应用程序文件夹中。
数据库 − 数据库文件夹包含核心数据库驱动程序和其他数据库实用程序。
字体 − 字体文件夹包含字体相关信息和实用程序。
助手 − 助手文件夹包含标准 CodeIgniter 助手(例如日期、cookie 和 URL 助手)。
语言 − 语言文件夹包含语言文件。您现在可以忽略它。
库 − 库文件夹包含标准 CodeIgniter 库(帮助您处理电子邮件、日历、文件上传等)。您可以创建自己的库或扩展(甚至替换)标准库,但这些库将保存在 application/libraries 目录中,以使其与保存在此特定文件夹中的标准 CodeIgniter 库分开。
User_guide
这是您的 CodeIgniter 用户指南。它基本上是 CodeIgniter 网站上用户指南的离线版本。使用它,您可以了解各种库、帮助程序和类的功能。建议在 CodeIgniter 中构建第一个 Web 应用程序之前先阅读本用户指南。
除了这三个文件夹之外,还有一个名为"index.php"的重要文件。在这个文件中,我们可以设置应用程序环境和错误级别,并且可以定义系统和应用程序文件夹名称。如果您对要做的事情没有足够的了解,建议不要编辑这些设置。