Laravel Models 驗證套件: laravelbook/ardent
這套件是 Eloquent Model class 的擴充,可以讓你的 model 更加聰明達到自我驗證。 對於輸入資料的驗證有許多好用的 functionality, utilities and methods。 簡單來說可以帶來以下優點: 優點1: 將"驗證"從 controller 移到 model 符合 “fat models, skinny controllers” 原則。 這樣的 code 組織方式可提升專案的可讀性與維護性。 本篇也舉例,若是需求變動此時要 RESTful API for the mobile,用一般的方法會在 controller 複製出相同的程式碼,這也違反 DRY (Don’t Repeat Yourself) 原則, 較佳做法是在 model 建立 signup() 方法,同時用來處理 Web/Mobile ...等。 優點2:model auto-hydrate 表單資料自動混入,讓流程變得更簡潔。 $user = new User; $user->first_name = Input::get('first_name'); $user->last_name = Input::get('last_name'); $user->email = Input::get('email'); $user->password = Hash::make(Input::get('password')); $user->save(); 以下2行等同上述效果。 $user = new User; $user->save(); field 將會自動塞入 Input object data(當然表單的輸入欄為名稱要和DB field一樣才行) 優點3.同時也有更多的 Model Hooks 擴充原本的Model Events 像是 beforeSave() 方法 常用的情境有 1.用來處理 slug。 2.password 加密處理。 優點4.Defining Relationships (the...