**CI目錄結(jié)構(gòu)
** CI主要組成部分為,application(應(yīng)用文件夾)、system(系統(tǒng)文件夾)和index.php入口文件。
應(yīng)用文件夾中主要是存放控制器、模型和視圖等,系統(tǒng)文件夾中主要是存放組成CI的核心文件的,index.php入口文件是一個(gè)單一入口文件,所謂單一文件是指在一個(gè)網(wǎng)站(應(yīng)用程序)中,所有的請(qǐng)求都是指向的這么一個(gè)文件,由它負(fù)責(zé)接收并處理URL中的控制器和方法。換句話說(shuō), 它調(diào)用一個(gè) '控制器', 然后返回一個(gè)'視圖'。
application :
cache 第一次安裝時(shí)為空,如果你打開(kāi)緩存設(shè)置,這個(gè)目錄存放緩存數(shù)據(jù)
config 存放配置文件,包含網(wǎng)站的基本配置信息
controllers 存放你項(xiàng)目的控制器目錄
core 該目錄可以擴(kuò)展系統(tǒng)的核心文件
errors 包含出錯(cuò)信息頁(yè),你不必修改這個(gè)目錄
hooks 首次安裝時(shí)為空,用來(lái)存放你創(chuàng)建的鉤子。鉤子是 用來(lái)裝載其它文件的控制方法
helpers 輔助函數(shù),你可以對(duì)系統(tǒng)的輔助函數(shù)進(jìn)行擴(kuò)展
language 存放你本國(guó)語(yǔ)言的文件目錄
libraries 類(lèi)庫(kù),你可以創(chuàng)建自己的類(lèi)庫(kù)
logs 如果你設(shè)置打開(kāi)了系統(tǒng)的錯(cuò)誤日志,日志文件就默認(rèn)保存在這個(gè)目錄
models 存放你項(xiàng)目的模型目錄
views 存放視圖的模板目錄
**system : **
core 存放系統(tǒng)核心文件
database CI框架的數(shù)據(jù)庫(kù)類(lèi)的類(lèi)庫(kù)文件
fonts 沒(méi)有在用戶手冊(cè)中介紹,存放水印圖像使用的字體
helpers 輔助函數(shù),你可以對(duì)系統(tǒng)的輔助函數(shù)進(jìn)行擴(kuò)展
language 存放英語(yǔ)的文件目錄
libraries 存放一些類(lèi)庫(kù)的目錄,比如SESSION類(lèi)、分頁(yè)類(lèi)、圖像類(lèi)等
應(yīng)用文件夾(application)中,最重要的文件夾是config,該文件夾內(nèi)有兩個(gè)需要關(guān)注的文件:config.php 和 database.php,其次是controllers、models和views文件夾,分別存儲(chǔ)你網(wǎng)站中的控制器、模型和視圖。
URL處理機(jī)制
假如URL網(wǎng)址為:
定位你網(wǎng)站的基本URL
/index.php
定位CI路由器并讀取URL的其它部分,分析后定們到相關(guān)網(wǎng)頁(yè)
/control
CI將調(diào)用的控制器的名稱(如果沒(méi)有設(shè)置控制器名稱,CI將調(diào)用你在config文件中設(shè)置的默認(rèn)控制器)
/func
CI將調(diào)用的函數(shù)的名稱,位于所調(diào)用的控制器內(nèi)。(如果不存在該函數(shù),默認(rèn)調(diào)用的是index函數(shù),除非你使用_remap)
/param1
CI把這個(gè)作為傳遞給函數(shù)的變量
如果還有/param2/...
CI把更多的參數(shù)作為變量傳遞給函數(shù)
所以上面網(wǎng)址可以理解為:
http://localhost/index.php/控制器名/方法名/方法的參數(shù)1/方法的參數(shù)2/...
|-----system 框架程序目錄
|-----core 框架的核心程序
|-----CodeIgniter.php 引導(dǎo)性文件
|-----Common.php 加載基類(lèi)庫(kù)的公共函數(shù)
|-----Controller.php 基控制器類(lèi)文件:CI_Controller
|-----Model.php 基模型類(lèi)文件:CI_Model
|-----Config.php 配置類(lèi)文件:CI_Config
|-----Input.php 輸入類(lèi)文件:CI_Input
|-----Output.php 輸出類(lèi)文件:CI_Output
|-----URL.php URL類(lèi)文件:CI_URl
|-----Router.php 路由類(lèi)文件:CI_Router
|-----Loader.php 加載類(lèi)文件:CI_Loader
|-----helpers 輔助函數(shù)
|-----url_helper.php url相關(guān)的輔助函數(shù),如:創(chuàng)建url的輔助函數(shù)
|-----captcha_helper.php創(chuàng)建圖形驗(yàn)證碼的輔助函數(shù)
|-----libraries 通用類(lèi)庫(kù)
|-----Pagination.php 通用分頁(yè)類(lèi)庫(kù)
|-----Upload.php 通用文件上傳類(lèi)庫(kù)
|-----Image_lib.php 通用圖像處理類(lèi)庫(kù)
|-----Session.php 通用session類(lèi)庫(kù)
|-----language 語(yǔ)言包
|-----database 數(shù)據(jù)庫(kù)操作相關(guān)的程序
|-----DB_active_rec.php 快捷操作類(lèi)文件(ActiveRecord)
|-----fonts 字庫(kù)
|-----application 項(xiàng)目目錄
|-----core 項(xiàng)目的核心程序
|-----helpers 項(xiàng)目的輔助函數(shù)
|-----libraries 通用類(lèi)庫(kù)
|-----language 語(yǔ)言包
|-----config 項(xiàng)目相關(guān)的配置
|-----config.php 項(xiàng)目相關(guān)的配置文件
|-----database.php 數(shù)據(jù)庫(kù)相關(guān)的配置文件
|-----autoload.php 設(shè)置自動(dòng)加載類(lèi)庫(kù)的配置文件
|-----constants.php 常量配置文件
|-----routes.php 路由配置文件
|-----controllers 控制器目錄
|-----welcome.php 控制器文件,繼承CI_Controller
|-----models 模型目錄
|-----welcome_model.php 模型文件,繼承CI_Model
|-----views 視圖目錄
|-----welcome.php 視圖模板文件,默認(rèn)后綴名為.php
|-----cache 存放數(shù)據(jù)或模板的緩存文件
|-----errors 錯(cuò)誤提示模板
|-----hooks 鉤子,在不修改系統(tǒng)核心文件的基礎(chǔ)上擴(kuò)展系統(tǒng)功能
|-----third_party 第三方庫(kù)
|-----logs 日志
|-----index.php 入口文件