[codeigniter 二]、分析CI结构和CI是如何工作的

本文深入分析了CodeIgniter(CI)框架的文件结构,重点介绍了application和system目录的内容及其作用,强调了单一入口文件的重要性和优势。CI的application目录包含了配置、控制器、模型、视图等关键组件,而system目录存储了核心系统文件。此外,文章还讨论了CI的工作方式,指出URL中的方法必须对应控制器内的函数,不能跨控制器调用。
摘要由CSDN通过智能技术生成

一、CI的文件结构

大家还记得第一讲中的CI目录结构图吗,当时并没怎么详细说明,我们再来看一下。

根据上图我们可以知道,CI主要组成部分为,application(应用文件夹)system(系统文件夹)index.php入口文件


应用文件夹中主要是存放控制器、模型和视图等,系统文件夹中主要是存放组成CI的核心文件的,index.php入口文件是一个单一入口文件,所谓单一文件是指在一个网站(应用程序)中,所有的请求都是指向的这么一个文件,由它负责接收并处理URL中的控制器和方法。换句话说, 它调用一个 '控制器', 然后返回一个'视图'。

具体对单一入口文件的介绍我引用了高洛峰老师在BroPHP中对它的一个解释。如下:

单一入口文件:
在使用PHP过程化编程时,每个PHP文件都能独立访问并运行,就像一个体育场有多个入口一样,需要在每个入口都要检票和安全检查。而采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目只有一个统一(但不一定是唯一)的入口,就像一个体育场如果只能从一个入口入场(程序是抽象的,一个入口和多个入口效率是一样的)控制起来则更灵活,几乎没有什么缺点。使用主入口文件部署项目的优点如下:

1、加载文件方便
在编写和阅读过程化程序代码时,经常会遇到文件之间互相包含,其中包括PHP使用include包括函数库和公共资源文件,也包括在HTML中使用<link>和<script>加载CSS和javaScript文件。项目越大,文件越多越让人感觉头疼,就像一张大网一样将文件交织在了一起,不容易找到头绪。而使用单一入口则解决这个难题,在项目应用中用到的任何一个文件,只要相对于单一入口文件的位置查找即可。


2、权限验证容易
如果每个PHP文件都可以独立访问,在做用户权限验证时就需要对每个文件进行判断。而采用单一入口则只需要在一个位置进行判断即可。

3、URL重写简单
如果每个PHP文件和不同目录下的PHP文件都可以独立访问,则在Web服务器中对URL进行重新编写时需要很多条规则。而采用单一入口则在URL重写时只需要简单的几条规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值