今天我們聊到 MVC 框架的另一個重要部分:MVC 的 view。
view 在 MVC 框架裡面,通常是負責處理畫面邏輯的部分。
今天我們來談談如何設計出難以維護的 view。
乍看之下,Laravel 不使用 view 是不可能的事情,不過在我們的精心設計之下,這是可以做到的。
不在 action 裡面回傳 view()
,而是回傳用字串拼接的純文字 HTML。
維護這一段的工程,一定可以起回想當初純 PHP 時期用大量字串處理調整畫面的時代,並感受到滿滿的懷舊感。
商業邏輯通常寫在 model 或者 controller 裡面,比方說 model 之間的關係,或者這個 action 會需要哪些 model 之類。
不過,幾乎沒有人會想到有人將商業邏輯寫在 view 裡面,所以,我們就這樣做。
將商業邏輯寫在 view 裡面,利用 blade template 裡面的 @if
、@unless
等語法來撰寫你的商業邏輯。這樣,不僅可以保證這段邏輯既難讀又難改,還可以保證這段邏輯無法簡單的搬移到專案的其他地方,可以說是一石二鳥。