iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 9
3

今天要介紹Laravel的目錄結構,
以下是Laravel大致上的目錄結構,

app/
   Console/
      Commands/ #自訂Artisan指令檔案
   Http/
      Controller/ #控制器(Controller)
      Middleware/ #中介層(Middleware)
   Jobs/ #工作事項(Job)
config/ #設定檔
database/
   migration/ #Migration檔案
node_modules/ #專案套件安裝目錄
public/ #對外公開目錄
resources/
  lang/ #語言檔
  views/ #模板(Blade)
routes/ #路由(Route)
storage/ #儲存日誌及快取
test/ #單元測試
vendor/ #Composer套件安裝目錄
.env #環境變數檔案
artisan #artisan命令檔
composer.json #Composer套件安裝清單設定
package.json #專案套件安裝清單設定

以下是就我學到的來做分享,
如果有錯誤或是想要補充的,
也歡迎大家不吝賜教.

  • app/Console/Commands
    要執行的命令,可以使用排程等的方式去執行命令,也可以在Cmd視窗中直接執行命令,我們這一系列文章不會提到
  • app/Http/Controller
    控制器,也就是MVC的C,主要的邏輯幾乎都是寫在控制器當中,通常控制器之後會回傳模板以顯示畫面給使用者。
  • app/Http/Middleware/
    中介層,可以在Route當中指定,先經過中介層再經過Controller。
  • app/Jobs
    工作事項,非同步執行的工作事項邏輯會放在這裡,我們這一系列文章不會提到
  • config/
    系統的設定檔,很多的參數宣告都是放在這裡,但大部分參數的定義會放在.env檔案當中。
  • database/migration
    這是Laravel提供的建立及增刪資料庫資料表結構的方法,簡單的設定就可以讓Laravel幫我們處理資料庫的建表等。
  • node_modules/
    專案的套件都安裝在這個資料夾。
  • public/
    這是對外公開目錄,實際程式執行的根目錄也是這個目錄。
  • resources/lang/
    這是Laravel設計跟多國語系有關的資料夾,我們這一系列文章不會提到
  • resources/views/
    所有的模板,也就是放Html語法的地方,就是MVC當中的V。
  • routes/
    路由,網址的判斷都是經過路由,再決定要轉到哪一個Middleware或Controller去執行。
  • storage/
    Log所在的資料夾,基本上主要功能是紀錄Log資訊,還有快取的資料,我們這一系列文章不會提到
  • test/
    單元測試在用的,基本上我沒有用過,所以也沒辦法介紹。
  • vendor/
    Composer的套件都安裝在這個資料夾。
  • .env
    環境變數檔案,包含資料庫等設定都是在這個檔案設定。
  • artisan
    沒修改過,所以也不會特別介紹。
  • composer.json
    Composer套件安裝的清單都寫在這裡。
  • package.json
    專案套件安裝的清單都寫在這裡。

上一篇
[Day 07] 安裝Laravel、建立Laravel網站、並成功編譯
下一篇
[Day 09] 認識Laravel-Mix
系列文
Laravel從入門到放棄…………原生PHP (疑?47

1 則留言

0
ckp6250
iT邦新手 2 級 ‧ 2019-12-11 17:09:27

報告,老師有問題:
我的 public 和 resources 是在同一層,而不是上下層,這是 Laravel 版本關係嗎?
我剛裝好的版本是 6.7.0

https://ithelp.ithome.com.tw/upload/images/20191211/201196620EJPy9TYoN.png

小魚 iT邦大師 1 級‧ 2019-12-11 17:13:26 檢舉

好像寫錯了耶

我要留言

立即登入留言