CodeIgniter 應(yīng)用程序架構(gòu)
codeigniter 應(yīng)用程序架構(gòu)
codeigniter 應(yīng)用程序的架構(gòu)如下所示。
- 如圖所示,每當(dāng)一個(gè)請(qǐng)求來到 codeigniter 時(shí),它首先會(huì)轉(zhuǎn)到 index.php 頁面。
- 在第二步中,routing 將決定是將此請(qǐng)求傳遞給第 3 步進(jìn)行緩存還是將此請(qǐng)求傳遞給第 4 步進(jìn)行安全檢查。
- 如果請(qǐng)求的頁面已經(jīng)在緩存中,則路由會(huì)將請(qǐng)求傳遞給第 3 步,響應(yīng)將返回給用戶。
- 如果請(qǐng)求的頁面在緩存中不存在,然后路由會(huì)將請(qǐng)求的頁面?zhèn)鬟f到第 4 步進(jìn)行安全檢查。
- 在將請(qǐng)求傳遞給應(yīng)用程序控制器之前,會(huì)檢查提交數(shù)據(jù)的安全性。在安全檢查之后,應(yīng)用程序控制器加載必要的模型、庫(kù)、助手、插件和腳本并傳遞它轉(zhuǎn)到查看。
- 視圖 將使用可用數(shù)據(jù)呈現(xiàn)頁面并將其傳遞給緩存。由于之前請(qǐng)求的頁面沒有緩存,所以這次會(huì)緩存在緩存中,以便為以后的請(qǐng)求快速處理這個(gè)頁面。
目錄結(jié)構(gòu)
下圖顯示了 codeigniter 的目錄結(jié)構(gòu)。
codeigniter 目錄結(jié)構(gòu)分為 3 個(gè)文件夾:
- application
- system
- user_guide
application
顧名思義,application 文件夾包含您正在構(gòu)建的應(yīng)用程序的所有代碼。這是您將開發(fā)項(xiàng)目的文件夾。應(yīng)用程序文件夾包含其他幾個(gè)文件夾,如下所述:
- cache-此文件夾包含應(yīng)用程序的所有緩存頁面。這些緩存頁面將提高訪問頁面的整體速度。
- config-此文件夾包含用于配置應(yīng)用程序的各種文件。借助 config.php 文件,用戶可以配置應(yīng)用程序。使用database.php文件,用戶可以配置應(yīng)用程序的數(shù)據(jù)庫(kù)。
- controllers-此文件夾包含應(yīng)用程序的控制器。它是您的應(yīng)用程序的基本部分。
- core-此文件夾將包含您的應(yīng)用程序的基類。
- helpers-在此文件夾中,您可以放置??應(yīng)用程序的助手類。
- hooks-此文件夾中的文件提供了一種在不破解核心文件的情況下訪問和修改框架內(nèi)部工作的方法。
- language-此文件夾包含與語言相關(guān)的文件。
- libraries-此文件夾包含為您的應(yīng)用程序開發(fā)的庫(kù)文件。
- logs-此文件夾包含與系統(tǒng)日志相關(guān)的文件。
- models-數(shù)據(jù)庫(kù)登錄名將放置在此文件夾中。
- third_party-在此文件夾中,您可以放置??任何插件,這些插件將用于您的應(yīng)用程序。
- views-應(yīng)用程序的 html 文件將放置在此文件夾中。
system
此文件夾包含 codeigniter 核心代碼、庫(kù)、幫助程序和其他文件,有助于簡(jiǎn)化編碼。這些庫(kù)和幫助程序在網(wǎng)絡(luò)應(yīng)用開發(fā)中加載和使用。
這個(gè)文件夾包含所有的 codeigniter 結(jié)果代碼,組織到不同的文件夾中:
- core-此文件夾包含 codeigniter 的核心類。不要在這里修改任何東西。您的所有工作都將在應(yīng)用程序文件夾中進(jìn)行。即使您的意圖是擴(kuò)展 codeigniter 核心,您也必須使用鉤子來實(shí)現(xiàn),而鉤子位于應(yīng)用程序文件夾中。
- database-數(shù)據(jù)庫(kù)文件夾包含核心數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序和其他數(shù)據(jù)庫(kù)實(shí)用程序。
- fonts-字體文件夾包含字體相關(guān)信息和實(shí)用程序。
- helpers-helpers 文件夾包含標(biāo)準(zhǔn) codeigniter 幫助器(例如日期、cookie 和 url 幫助器)。
- language-語言文件夾包含語言文件。您可以暫時(shí)忽略它。
- libraries-庫(kù)文件夾包含標(biāo)準(zhǔn) codeigniter 庫(kù)(幫助您處理電子郵件、日歷、文件上傳等)。您可以創(chuàng)建自己的庫(kù)或擴(kuò)展(甚至替換)標(biāo)準(zhǔn)庫(kù),但這些庫(kù)將保存在 application/libraries 目錄中,以將它們與保存在此特定文件夾中的標(biāo)準(zhǔn) codeigniter 庫(kù)分開。
user_guide
這是您的 codeigniter 用戶指南。它基本上是 codeigniter 網(wǎng)站上用戶指南的離線版本。使用它,可以學(xué)習(xí)各種庫(kù)、助手和類的功能。在 codeigniter 中構(gòu)建您的第一個(gè) web 應(yīng)用程序之前,建議先閱讀本用戶指南。
在這三個(gè)文件夾旁邊,還有一個(gè)重要的文件叫" index.php"。在這個(gè)文件中,我們可以設(shè)置應(yīng)用環(huán)境和錯(cuò)誤級(jí)別,我們可以定義系統(tǒng)和應(yīng)用文件夾名稱. 建議,如果您對(duì)要執(zhí)行的操作沒有足夠的了解,請(qǐng)不要編輯這些設(shè)置。