CodeIgniter 应用程序架构

CodeIgniter 应用程序的架构如下所示。

CodeIgniter 的架构

  • 如图所示,每当一个请求来到 CodeIgniter 时,它首先会转到 index.php 页面。
  • 在第二步中,Routing 将决定是将此请求传递给第 3 步进行缓存还是将此请求传递给第 4 步进行安全检查。
  • 如果请求的页面已经在缓存中,则路由会将请求传递给第 3 步,响应将返回给用户。
  • 如果请求的页面在缓存中不存在,然后路由会将请求的页面传递到第 4 步进行安全检查。
  • 在将请求传递给应用程序控制器之前,会检查提交数据的安全性。在安全检查之后,应用程序控制器加载必要的模型、库、助手、插件脚本并传递它转到查看
  • 视图 将使用可用数据呈现页面并将其传递给缓存。由于之前请求的页面没有缓存,所以这次会缓存在缓存中,以便为以后的请求快速处理这个页面。

目录结构

下图显示了 CodeIgniter 的目录结构。

目录结构

CodeIgniter 目录结构分为 3 个文件夹:

  • Application
  • System
  • User_guide

Application

顾名思义,Application 文件夹包含您正在构建的应用程序的所有代码。这是您将开发项目的文件夹。应用程序文件夹包含其他几个文件夹,如下所述:

  • Cache-此文件夹包含应用程序的所有缓存页面。这些缓存页面将提高访问页面的整体速度。
  • Config-此文件夹包含用于配置应用程序的各种文件。借助 config.php 文件,用户可以配置应用程序。使用database.php文件,用户可以配置应用程序的数据库。
  • Controllers-此文件夹包含应用程序的控制器。它是您的应用程序的基本部分。
  • Core-此文件夹将包含您的应用程序的基类。
  • Helpers-在此文件夹中,您可以放置​​应用程序的助手类。
  • Hooks-此文件夹中的文件提供了一种在不破解核心文件的情况下访问和修改框架内部工作的方法。
  • Language-此文件夹包含与语言相关的文件。
  • Libraries-此文件夹包含为您的应用程序开发的库文件。
  • Logs-此文件夹包含与系统日志相关的文件。
  • Models-数据库登录名将放置在此文件夹中。
  • Third_party-在此文件夹中,您可以放置​​任何插件,这些插件将用于您的应用程序。
  • Views-应用程序的 HTML 文件将放置在此文件夹中。

System

此文件夹包含 CodeIgniter 核心代码、库、帮助程序和其他文件,有助于简化编码。这些库和帮助程序在网络应用开发中加载和使用。

这个文件夹包含所有的 CodeIgniter 结果代码,组织到不同的文件夹中:

  • Core-此文件夹包含 CodeIgniter 的核心类。不要在这里修改任何东西。您的所有工作都将在应用程序文件夹中进行。即使您的意图是扩展 CodeIgniter 核心,您也必须使用钩子来实现,而钩子位于应用程序文件夹中。
  • Database-数据库文件夹包含核心数据库驱动程序和其他数据库实用程序。
  • Fonts-字体文件夹包含字体相关信息和实用程序。
  • Helpers-helpers 文件夹包含标准 CodeIgniter 帮助器(例如日期、cookie 和 URL 帮助器)。
  • Language-语言文件夹包含语言文件。您可以暂时忽略它。
  • Libraries-库文件夹包含标准 CodeIgniter 库(帮助您处理电子邮件、日历、文件上传等)。您可以创建自己的库或扩展(甚至替换)标准库,但这些库将保存在 application/libraries 目录中,以将它们与保存在此特定文件夹中的标准 CodeIgniter 库分开。

User_guide

这是您的 CodeIgniter 用户指南。它基本上是 CodeIgniter 网站上用户指南的离线版本。使用它,可以学习各种库、助手和类的功能。在 CodeIgniter 中构建您的第一个 Web 应用程序之前,建议先阅读本用户指南。

在这三个文件夹旁边,还有一个重要的文件叫" index.php"。在这个文件中,我们可以设置应用环境和错误级别,我们可以定义系统和应用文件夹名称. 建议,如果您对要执行的操作没有足够的了解,请不要编辑这些设置。

下一章:CodeIgniter MVC 框架

  CodeIgniter 基于 模型-视图-控制器 (MVC) 开发模式。 MVC 是一种将应用程序逻辑与表示分离的软件方法。实际上,它允许您的网页包含最少的脚本,因为演示文稿与 PH ...