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