Laravel目錄結構分析

根目錄結構

/application
/bundles
/laravel
/public
/storage
artisan
paths.php

1./application
整個Laravel 目錄中最需要我們注意的地方,包含設置(config)、路由(routing)、MVC 模型的三大模塊皆在此,這個目錄結構會具體在下文介紹。

2./bundles
Bundles 是放置laravel擴展包的目錄,放置好後,就要使用工匠指令 – artisan 來將擴展包安裝進去。另外,每一個 bundle 的結構與 application 目錄是類似的,只是會根據 bundle 的需求,將一些不必要的目錄省略。簡單的說,原生的 application 本身就是一個完整的 bundle!

3./laravel
Laravel 框架的核心!所有的元件皆可在 Laravel API 中找到說明。

4./public
這個目錄是網站的訪問入口,存放所有對外開放的資源目錄,如 CSS、JavaScript 以及圖片等等皆被存放在此。

5./storage
此目錄用於存放 Session、Cache 這類臨時文件,包含渲染後的View, 該目錄可能需要可寫權限。

6.artisan
工匠指令,這是 Laravel 框架裏的命令行工具.

7.paths.php
此文件用於定義Laravel中的所有文件路徑,我們可以使用 path(‘目錄名’)這樣的方式,取得該路徑下我們所需要的內容。



Application 目錄結構
Applicaiton 目錄是我們最需要關注的目錄,他是我們網站程序實現的核心。

/config
/controllers
/language
/libraries
/migrations
/models
/tasks
/tests
/views
bundles.php
routes.php
start.php

1./config
雖然 Laravel 程序在一開始的使用可以不做任何設置,但我們肯定還需要更多的設置來完成業務上的需求,所有的設置都放在這個目錄中.

2./controllers
顧名思義,這個目錄放 MVC 模型中的 C – 控制器(controller) 。

3./language
語言目錄,Laravel 框架的語系採用文字格式,先用目錄做各語系的分別,再依所需要的文件來存放, 默認是英文(“en”)。轉換語言的方法是 config 目錄下的 application.php 文件中的language ,設定值與語言文件夾名相同即可。

4./libraries
Libraries 也是存放擴展功能的目錄,他和 Bundles 最大的不同是,這裏要放的是某特定功能,屬於單一的功能類型,放在這裏的擴展庫不用再安裝,因爲 Laravel 框架的 auto-loading 的功能會將libraries的內容自動加載。

5./migrations
定義表結構(table schema),可以把這個目錄當做表結構的版本控制。利用工匠指令: php artisan migrate:make [migration_name] 能夠將我們定義好的表結構(migration_name)保存下來。

6./models
MVC 模型中的 M,就是我們的業務邏輯(business logic),基本上就是定義了我們要從數據庫中取出的內容、通過 web service 要傳出的內容…等。原則上,也是搭配著 Laravel 框架中 EloquentORM 對數據庫進行存取,他和 libraries 一樣,都是在包含在 auto-loading 之中。

7./tasks
建立自定義可以使用工匠指令執行的任務。

8./tests
Laravel 框架整合了 PHPUnit 方便我們對專門的程序進行單元測試,所以我們可以直接參考PHPUnit 文件來編寫單元測試,在全新的文件目錄中含有 example.test.php 的基本範例。

9./views
HTML 的模板(template),也就是 MVC 模型中的 V。而模板除了原始的 HTML 格式外,Laravel 框架提供了 Blade Template Engine ,讓我們可以用比較簡潔的方式編寫模板文件,而這些文件只要的擴展名改爲 .blade.php ,例如 index.blade.php,模板引擎就會自動幫我們編譯了,想要了解更多的內容,說明文件 – Blade Template Engine 中有詳細介紹。

10.bundles.php
這個文件 key-value 的數組格式,將已經安裝的 bundel 進行註冊說明。

11.routes.php
路由設置,接收請求,再根據我們的設定調用相應的程序進行迴應。若是請求不存在或請求失敗則返回 404 或 500 的錯誤迴應。

12.start.php
是整個程序的入口,在這裏調用了config設置、設定了自動加載器(auto-loader)的目錄…等動作。
發佈了41 篇原創文章 · 獲贊 11 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章