點燈坊
回想我剛開始使用PhpStorm與git時,只要稍微在PhpStorm做些操作,PhpStorm就會去更新它自己的.idea/workspace.xml
,而造成整個project在沒有commit狀態,但無論我怎麼寫.gitignore
,git還是會去追蹤.idea/workspace.xml
,怎樣也移除不掉。本文整理出3個方法解決此問題。
實務上我們會使用Seeder + Model Factory來建立測試的假資料,由於關聯性資料的primary key與foreign key必須成對出現,若使用Laravel的Relation,則可很方便的建立測試資料。
Presenter模式讓我們將顯示邏輯從blade中解放,將顯示邏輯封裝在presenter中,配合interface,可以使用App::bind()
加以切換,但這一切的關鍵就是Laravel 5.1在blade中所提供的@inject
,讓我們可以對view做依賴注入,但是在Laravel 4.2,我們該如何使用presenter呢?
由於多國語言的需求,不只有語言部分必須翻譯,連日期格式也必須符合當地習慣,最典型的如美國習慣Dec 25, 2015
,而英國卻習慣25 Dec, 2015
,台灣則習慣2015/12/25
,不過在資料庫存的卻是同一份日期,只是因為顯示邏輯的不同,在view必須用不一樣的格式呈現。
若將顯示邏輯都寫在 view,會造成 view 肥大而難以維護,基於 SOLID 原則,我們應該使用 Presenter 模式輔助 view,將相關的顯示邏輯封裝在不同的 presenter,方便中大型專案的維護。
若將商業邏輯都寫在 controller,會造成 controller 肥大而難以維護,基於SOLID原則,我們應該使用 Service 模式輔助 controller,將相關的商業邏輯封裝在不同的 service,方便中大型專案的維護。