**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网址为:
定位你网站的基本URL
/index.php
定位CI路由器并读取URL的其它部分,分析后定们到相关网页
/control
CI将调用的控制器的名称(如果没有设置控制器名称,CI将调用你在config文件中设置的默认控制器)
/func
CI将调用的函数的名称,位于所调用的控制器内。(如果不存在该函数,默认调用的是index函数,除非你使用_remap)
/param1
CI把这个作为传递给函数的变量
如果还有/param2/...
CI把更多的参数作为变量传递给函数
所以上面网址可以理解为:
http://localhost/index.php/控制器名/方法名/方法的参数1/方法的参数2/...
|-----system 框架程序目录
|-----core 框架的核心程序
|-----CodeIgniter.php 引导性文件
|-----Common.php 加载基类库的公共函数
|-----Controller.php 基控制器类文件:CI_Controller
|-----Model.php 基模型类文件:CI_Model
|-----Config.php 配置类文件:CI_Config
|-----Input.php 输入类文件:CI_Input
|-----Output.php 输出类文件:CI_Output
|-----URL.php URL类文件:CI_URl
|-----Router.php 路由类文件:CI_Router
|-----Loader.php 加载类文件:CI_Loader
|-----helpers 辅助函数
|-----url_helper.php url相关的辅助函数,如:创建url的辅助函数
|-----captcha_helper.php创建图形验证码的辅助函数
|-----libraries 通用类库
|-----Pagination.php 通用分页类库
|-----Upload.php 通用文件上传类库
|-----Image_lib.php 通用图像处理类库
|-----Session.php 通用session类库
|-----language 语言包
|-----database 数据库操作相关的程序
|-----DB_active_rec.php 快捷操作类文件(ActiveRecord)
|-----fonts 字库
|-----application 项目目录
|-----core 项目的核心程序
|-----helpers 项目的辅助函数
|-----libraries 通用类库
|-----language 语言包
|-----config 项目相关的配置
|-----config.php 项目相关的配置文件
|-----database.php 数据库相关的配置文件
|-----autoload.php 设置自动加载类库的配置文件
|-----constants.php 常量配置文件
|-----routes.php 路由配置文件
|-----controllers 控制器目录
|-----welcome.php 控制器文件,继承CI_Controller
|-----models 模型目录
|-----welcome_model.php 模型文件,继承CI_Model
|-----views 视图目录
|-----welcome.php 视图模板文件,默认后缀名为.php
|-----cache 存放数据或模板的缓存文件
|-----errors 错误提示模板
|-----hooks 钩子,在不修改系统核心文件的基础上扩展系统功能
|-----third_party 第三方库
|-----logs 日志
|-----index.php 入口文件