CI目录

2018-05-17  本文已影响24人  peterz博客

**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/...

|-----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             入口文件  
上一篇下一篇

猜你喜欢

热点阅读