iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
1

Day6 laravel專案目錄、MVC架構

打開laravel專案後,大概長這樣

這邊大致上說明這幾個目錄的分類

  • app : 裏面放有程式核心的部份,包括controller、model、middleware等等
  • bootstrap : 放有laravel的快取
  • config : 放置各種參數設定
  • databases : 資料庫相關的東西,例如migrations
  • public : 放置公開資料,進入的首頁
  • resources : 放置前端的檔案,view
  • route : 路由器,設定路由的地方
  • storage : 放置log、上傳的檔案
  • tests : 放置測試檔案
  • vender : composer套件的資料夾,內有這個專案各種套件,此目錄不會進入git管理
  • .env : 放置設定參數、一些機敏資料,此檔案也不會受git管理

大概講這些吧,其實我自己的專案沒用到的功能還很多,介紹的可能不是很齊全,但大致上要知道哪個功能該放哪。

MVC 架構

剛剛講了laravel專案內的目錄,現在講講laravel使用的架構。
laravel採用MVC架構。

MVC : Model、View、Controller

講的是將功能分為,view負責畫面,model負責演算法和資料管理,controller負責控制model及view

而laravel的request流程大概像這樣:

  1. client端的請求會先到route
  2. route收到請求後依照路由設定傳給controller
  3. controller依照請求使用model或是view並且回傳給client端

今後寫laravel的專案必須按照mvc架構走。
我認為使用MVC好處有

  1. 分工明確,將前後端完全分離
  2. 將功能分類,程式碼比較不會雜亂無章,可讀性較高
  3. 將功能模組化,程式可以重複使用,以及較好擴充性

今天就講到這裡吧,其實我當初在寫原生PHP轉到laravel框架後,有點不習慣這樣分工,覺得很多流程多此一舉,但用習慣了就覺得相當好用。

其實後端會做的就只有"M"跟"C"的部份而已,"V"通常是前端的東西。當然若你是要成為全端工程師,laravel的view的部份也可以去了解看看,laravel有獨特的blade語法,可以省略很多重複的view。

本系列主軸在於講解如何開出api,目前沒有預定會介紹到blade語法。有興去的人可以另外去深入了解。


上一篇
Day5 laravel new your project 使用laravel建立你的專案吧!
下一篇
Day7 laravel 設計 route
系列文
後端新手 使用laravel 從零開始 到開出api30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言