开发学院

您的位置:首页>教程>正文

教程正文

CodeIgniter教程:应用架构

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

architecture_codeigniter.jpg

  如图所示,每当一个请求到达CodeIgniter时,它将首先到达index.php页面。

  在第二步中,路由将决定是将该请求传递给第3步进行缓存,还是传递给第4步进行安全检查。

  如果请求的页面已经在缓存中,那么路由将把请求传递到步骤3,响应将返回给用户。

  如果请求的页面在缓存中不存在,那么路由将把请求的页面传递到步骤4进行安全检查。

  在将请求传递给应用程序控制器之前,会检查提交数据的安全性。在安全检查之后,应用程序控制器加载必要的模型、库、助手、插件和脚本,并将其传递给视图。

  视图将使用可用数据呈现页面,并将其传递给缓存。由于请求的页面以前没有被缓存,所以这次它将被缓存在缓存中,以便为将来的请求快速处理该页面。

目录结构

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

directory_structure.jpg

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

  Application

  System

  User_guide

Application

  如名称所示,Application文件夹包含您正在构建的应用代码,这是用于开发项目的文件夹。Application文件夹包含其他一些主要文件夹:

  cache-该文件夹包含应用程序的所有缓存页面。这些缓存页面将提高访问页面的整体速度。

  config-该文件夹包含配置应用程序的各种文件。借助configure文件,用户可以配置应用程序。使用database.php文件,用户可以配置应用程序的数据库。

  controllers:此文件夹保存应用程序的控制器。这是应用程序的基本部分。

  core:该文件夹将包含应用程序的基类。

  helpers:在这个文件夹中,您可以放置应用程序的助手类。

  hooks:这个文件夹中的文件提供了一种方法,可以在不攻击核心文件的情况下,挖掘和修改框架的内部工作。

  language:此文件夹包含语言相关文件。

  libraries:此文件夹包含为您的应用程序开发的库文件。

  logs:该文件夹包含与系统日志相关的文件。

  models:数据库登录将被放置在该文件夹中。

  third_party:在这个文件夹中,您可以放置任何插件,这些插件将用于您的应用程序。

  views:应用程序的HTML文件将被放在这个文件夹中。

System

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

  这个文件夹包含所有重要的CodeIgniter代码,组织成不同的文件夹

  Core——该文件夹包含CodeIgniter的核心类。不要在这里修改任何东西。您的所有工作都将在应用程序文件夹中进行。即使您的意图是扩展CodeIgniter核心,您也必须使用钩子来完成,钩子位于应用程序文件夹中。

  Database—数据库文件夹包含核心数据库驱动程序和其他数据库实用程序。

  Fonts-字体文件夹包含字体相关信息和实用程序。

  Helpers——助手文件夹包含标准的代码触发器助手(如日期、cookie和网址助手)。

  Language-语言文件夹包含语言文件。你可以暂时忽略它。

  Libraries-库文件夹包含标准的CodeIgniter库(帮助您处理电子邮件、日历、文件上传等)。您可以创建自己的库或扩展(甚至替换)标准库,但是这些库将保存在应用程序/库目录中,以使它们与保存在这个特定文件夹中的标准CodeIgniter库分开。

User_guide

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

  除了这三个文件夹,还有一个最重要的文件,就是根目录下的index.php。在这个文件中,我们可以设置应用程序环境和错误级别,还可以定义系统和应用程序文件夹名称。如果您不知道要做什么,建议不要编辑这些设置。