應(yīng)用結(jié)構(gòu)?

為了可以充分利用 CodeIgniter,你需要了解應(yīng)用程序的結(jié)構(gòu),默認(rèn)情況下,你可以更改內(nèi)容以滿足你的應(yīng)用程序的需求。

默認(rèn)目錄?

新安裝的應(yīng)用程序中有六個(gè)目錄:/app,/system,/public/writable,/tests/docs。這些目錄中的每一個(gè)都有一個(gè)非常具體的使用規(guī)范。

app?

app 目錄是你所有應(yīng)用程序代碼所在的目錄。它帶有一個(gè)默認(rèn)的目錄結(jié)構(gòu),適用于許多應(yīng)用程序。以下文件夾構(gòu)成基本內(nèi)容:

/app
        /Config         Stores the configuration files
        /Controllers    Controllers determine the program flow
        /Database       Stores the database migrations and seeds files
        /Filters        Stores filter classes that can run before and after controller
        /Helpers        Helpers store collections of standalone functions
        /Language       Multiple language support reads the language strings from here
        /Libraries      Useful classes that don't fit in another category
        /Models         Models work with the database to represent the business entities.
        /ThirdParty     ThirdParty libraries that can be used in application
        /Views          Views make up the HTML that is displayed to the client.

由于app目錄已經(jīng)是命名空間,因此你可以隨意修改此目錄的結(jié)構(gòu)以滿足應(yīng)用程序的需要。例如,你可能決定開始使用存儲(chǔ)庫(kù)模式和實(shí)體模型來處理數(shù)據(jù)。在這種情況下,你可以將Models目錄重命名為 Repositories,并添加新Entities目錄。

注解

如果重命名 Controllers 目錄,則無法使用路由到控制器的自動(dòng)方法,并且需要在你的路由文件中定義所有路由。

此目錄中的所有文件都位于 App 命名空間下,你可以在 app/Config/Constants.php 文件中自由更改 。

system?

該目錄存儲(chǔ)構(gòu)成框架的文件本身。雖然你在使用應(yīng)用程序目錄方面具有很大的靈活性,但系統(tǒng)目錄中的文件永遠(yuǎn)不應(yīng)該被修改。相反,你應(yīng)該擴(kuò)展類或創(chuàng)建新類,以提供所需的相應(yīng)功能。

此目錄中的所有文件都位于 CodeIgniter 命名空間下。

public?

public 文件夾包含 Web應(yīng)用程序的瀏覽器可以直接訪問的地址,防止源代碼的直接訪問。它包含主要的 .htaccess 文件,index.php 以及其它你想要添加的樣式文件地址,比如CSS,javascript或圖像。

這個(gè)文件夾將成為你站點(diǎn)的”Web根目錄”,并且你的Web服務(wù)器配置將指向它。

writable?

此目錄包含在應(yīng)用程序生命周期中可能需要寫入的所有目錄。包括用于存儲(chǔ)緩存文件,日志和任何用戶可能發(fā)送使用的目錄。你可以在此處添加應(yīng)用程序需要寫入的任何其他目錄。這允許你將其他主目錄保持為不可寫,作為附加的安全措施。

tests?

此目錄設(shè)置為測(cè)試文件的存儲(chǔ)地址。 _support 目錄包含各種模擬類和其他在編寫測(cè)試時(shí)可以使用的實(shí)用程序。該目錄請(qǐng)?jiān)谏a(chǎn)環(huán)境中忽略提交/傳輸?shù)缴a(chǎn)環(huán)境中。

docs?

如果此目錄是你項(xiàng)目中的一部分,那么此目錄包含 CodeIgniter4 用戶指南的本地副本。

修改目錄位置?

如果你需要重定位任何主目錄位置,可以在 app/Config/Paths 更改配置。

詳情請(qǐng)參考 管理你的應(yīng)用