laravel 目錄結構


圖 1.1 顯示了 Laravel 項目目錄結構是什么樣子:

 

圖1.1 Laravel 項目目錄結構

  就如你看到這樣,laravel下面只包含了4個文件夾,這4個文件夾下面有一些子文件夾,這種豐富的子文件夾在第一次看到是不是有壓力?我會逐個介紹。我們大部分的開發工作都會在app/文件夾下面進行。

  下面是各個文件夾和文件的基本介紹:

頂級文件夾

作用

app

包含了站點的controllers(控制器),models(模型),views(視圖)和assets(資源)。這些是網站運行的主要代碼,你會將你大部分的時間花在這些上面。

bootstrap

用來存放系統啟動時需要的文件,這些文件會被如index.php這樣的文件調用。

public

這個文件夾是唯一外界可以看到的,是必須指向你web服務器的目錄。它含有laravel框架核心的引導文件index.php,這個目錄也可用來存放任何可以公開的靜態資源,如css,Javascript,images等。

vendor

用來存放所有的第三方代碼,在一個典型的Laravel應用程序,這包括Laravel源代碼及其相關,並含有額外的預包裝功能的插件。

 

  正如上面提到的,/app是所有的樂趣產生的地方,讓我們更深入的看看這個目錄的結構。

  圖 1.2 顯示/app文件夾的詳細信息:

 

圖1.2 app 文件夾詳細信息

  下面是詳細介紹:

文件的文件夾

作用

/app/config/

配置應用程序的運行時規則、 數據庫、 session等等。包含大量的用來更改框架的各個方面的配置文件。大部分的配置文件中返回的選項關聯PHP數組。

/app/config/app.php

各種應用程序級設置,即時區、 區域設置(語言環境)、 調試模式和獨特的加密密鑰。

/app/config/auth.php

控制在應用程序中如何進行身份驗證,即身份驗證驅動程序。

/app/config/cache.php

如果應用程序利用緩存來加快響應時間,要在此配置該功能。

/app/config/compile.php

在此處可以指定一些額外類,去包含由‘artisan optimize’命令聲稱的編譯文件。這些應該是被包括在基本上每個請求到應用程序中的類。

/app/config/database.php

包含數據庫的相關配置信息,即默認數據庫引擎和連接信息。

/app/config/mail.php

為電子郵件發件引擎的配置文件,即 SMTP 服務器,From:標頭

/app/config/session.php

控制Laravel怎樣管理用戶sessions,即session driver, session lifetime。

/app/config/view.php

模板系統的雜項配置。

/app/controllers

包含用於提供基本的邏輯、 數據模型交互以及加載應用程序的視圖文件的控制器類。

/app/database/migrations/

包含一些 PHP 類,允許 Laravel更新當前數據庫的架構並同時保持所有版本的數據庫的同步。遷移文件是使用Artisan工具生成的。

/app/database/seeds/

包含允許Artisan工具用關系數據來填充數據庫表的 PHP 文件。

/app/lang/

PHP 文件,其中包含使應用程序易於本地化的字符串的數組。默認情況下目錄包含英語語言的分頁和表單驗證的語言行。

/app/models/

模型是代表應用程序的信息(數據)和操作數據的規則的一些類。在大多數情況下,數據庫中的每個表將對應應用中的一個模型。應用程序業務邏輯的大部分將集中在模型中。

/app/start/

包含與Artisan工具以及全球和本地上下文相關的自定義設置。

/app/storage/

該目錄存儲Laravel各種服務的臨時文件,如session, cache,  compiled view templates。這個目錄在web服務器上必須是可以寫入的。該目錄由Laravel維護,我們可以不關心。

/app/tests/

該文件夾給你提供了一個方便的位置,用來做單元測試。如果你使用PHPUnit,你可以使用Artisan工具一次執行所有的測試。

/app/views/

該文件夾包含了控制器或者路由使用的HTML模版。請注意,這個文件夾下你只能放置模版文件。其他的靜態資源文件如css, javascript和images文件應該放在/public文件夾下。

/app/routes.php

這是您的應用程序的路由文件,其中包含路由規則,告訴 Laravel 如何將傳入的請求連接到路由處理的閉包函數、 控制器和操作。該文件還包含幾個事件聲明,包括錯誤頁的,可以用於定義視圖的composers。

/app/filters.php

此文件包含各種應用程序和路由篩選方法,用來改變您的應用程序的結果。Laravel 具有訪問控制和 XSS 保護的一些預定義篩選器。

  花了很多心思在建立和命名文件夾上,得到的就是一個具有良好的文件系統的應用程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM