PHP CI框架目录结构及运行机制
CI目录结构
CI主要组成部分为,application(应用文件夹)、system(系统文件夹)和index.php入口文件。
应用文件夹中主要是存放控制器、模型和视图等,系统文件夹中主要是存放组成CI的核心文件的,index.php入口文件是一个单一入口文件,所谓单一文件是指在一个网站(应用程序)中,所有的请求都是指向的这么一个文件,由它负责接收并处理URL中的控制器和方法。换句话说, 它调用一个 '控制器', 然后返回一个'视图'。
application :
cache 第一次安装时为空,如果你打开缓存设置,这个目录存放缓存数据
config 存放配置文件,包含网站的基本配置信息
controllers 存放你项目的控制器目录
core 该目录可以扩展系统的核心文件
errors 包含出错信息页,你不必修改这个目录
hooks 首次安装时为空,用来存放你创建的钩子。钩子是 用来装载其它文件的控制方法
helpers 辅助函数,你可以对系统的辅助函数进行扩展
language 存放你本国语言的文件目录
libraries 类库,你可以创建自己的类库
logs 如果你设置打开了系统的错误日志,日志文件就默认保存在这个目录
models 存放你项目的模型目录
views 存放视图的模板目录
system :
core 存放系统核心文件
database CI框架的数据库类的类库文件
fonts 没有在用户手册中介绍,存放水印图像使用的字体
helpers 辅助函数,你可以对系统的辅助函数进行扩展
language 存放英语的文件目录
libraries 存放一些类库的目录,比如SESSION类、分页类、图像类等
应用文件夹(application)中,最重要的文件夹是config,该文件夹内有两个需要关注的文件:config.php 和 database.php,其次是controllers、models和views文件夹,分别存储你网站中的控制器、模型和视图。
URL处理机制
假如URL网址为:http://yoursite/index.php/control/func/param1/param2/...
http://www.yoursite.com
定位你网站的基本URL
/index.php
定位CI路由器并读取URL的其它部分,分析后定们到相关网页
/control
CI将调用的控制器的名称(如果没有设置控制器名称,CI将调用你在config文件中设置的默认控制器)
/func
CI将调用的函数的名称,位于所调用的控制器内。(如果不存在该函数,默认调用的是index函数,除非你使用_remap)
/param1
CI把这个作为传递给函数的变量
如果还有/param2/...
CI把更多的参数作为变量传递给函数
所以上面网址可以理解为:
http://localhost/index.php/控制器名/方法名/方法的参数1/方法的参数2/...