iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
1

當使用VS Code開啟Laravel的專案時,會看到Laravel的文件夾、檔案好多好複雜,就開始覺得頭昏眼花、噁心想吐了/images/emoticon/emoticon46.gif
https://ithelp.ithome.com.tw/upload/images/20200913/20129566kIxDTlXwgv.jpg

  1. app目錄:包含了整個網站大多數的核心程式
    以下為預設出現的資料夾與檔案
  • Console:含所有自定義的Artisan指令與控制台內核(Kernel.php)。指令可透過make:command來生成,而Kernel.php可用來註冊自定義的Artisan指令與任務排程。
  • Exceptions:含此App的例外處理程序,可在Handler.php自定義例外處理的方式。
  • Http:含控制器(Controller)、中介層(Middleware)和表單請求,此App的所有的請求處理都放在此資料夾底下。
  • Providers:含此App所有的服務提供器。
  1. bootstrap:進行laravel的初始化,載入相關程式
  • cache:含一些框架對啟動效能最佳化所產生的檔案。
  1. config:裡面放著各式各樣的設定檔,包含app, database,還有像是session, cache, mail等等的設定
  2. database:裡面主要包含3個部分
  • Migration:用於建立資料表,並記錄每一次資料表的更新,讓資料庫也可以進行版本控制。
  • Seed:含設定自動填入資料庫的資料(假資料)產生的檔案,可以呼叫Factory來大量產生。
  • Factory:負責如何產生假資料的邏輯,然後給Seed使用
  1. public:專門放公開的檔案

  2. resources:最主要就是包含了View,也就是網頁的前端。其他還有網頁語言檔(可以讓網站顯示不一樣的語言),以及還沒有被編譯的資源(e.g LESS, SASS...)

  3. routes:就像網路的路由器一樣,裡面有好多路由器,去處理使用者存取網站的要求

  • api.php:包含RouteServiceProvider,因為路由是無狀態的,所以在這些api路由通過App請求時需進行身份認證,提供頻率限制。
  • channels.php:註冊App支持的所有事件推播器。
  • console.php:定義基於閉包(closure)的控制台命令。
  • web.php:除了無狀態的路由,幾乎此App所有的路由都在這邊定義,包含RouteServiceProvider,提供web之間的對話狀態、CSRF防護和cookie加密。
  1. storage:包含編譯過後的Blade templates, 檔案式的session, cache以及log紀錄等各式各樣laravel自己產生的檔案。
  • app:存放此App使用的任何檔案。
  • framework:存放儲存框架產生的檔案與快取。
  • logs:存放此App的日誌檔案。
  1. tests:用來放自動化測試的程式

  2. vendor:從composer安裝的套件,都會在vendor裡面。

以上就是今天的內容/images/emoticon/emoticon41.gif


上一篇
Day 15 Laravel與MVC架構
下一篇
Day 17 Laravel 資料庫&資料表
系列文
菜鳥的暑假Web學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言