Web基礎開發要解決的問題,往往也就是那些框架出現的目的 - 要解決問題。
1. 便捷的Db操作;
2. 高效的表單處理;
3. 靈活的Url路由;
4. 合理的代碼組織結構;
5. 架構延伸 緩存、安全、DB擴展等
6. 豐富的類庫;
每種框架的哲學,決定了它最終的用戶群體。
其中關于表單處理,因為同時涉及前后端編碼,往往是開發中最繁雜、最耗時的工序。
因此,很多人想辦法封裝了前后端表單驗證規則、甚至于表單控件,以便減少繁瑣與重復的編碼。常見的解決方案有:
1. Pear QuickForm
2. Zebra From
3. Yii Model
4. 其他各種框架內置Form處理
第一二兩種是集成式方案,完全通過php構造表單元素及對應的驗證規則 - 當然也是可以自行定制前端顯示方案的,實現一次編碼,前后端通用,已經是了不起的設計了。
但感覺耦合度還是有點高,而且表單數據的收集往往是為了跟數據庫產生交互,也就是說表單中的數據一般還要用于DB操作。表單數據處理完了,不代表就能直接用到DB操作中。
Yii的這種方案,尤其是它的AR方案:以后臺數據庫端為起點,對使用場景進行倒推。通過它的Gii工具,根據數據庫結構生成DB模型,DB的各種規則自動被映射到模型類中。字段驗證規則與對應的ActiveForm掛件結合,實現前后端同步驗證,而且耦合度很低,前端界面可完全自定義。基礎的驗證規則按照統一的規范,可自行擴展,同時確保每種驗證規則都具有高度的復用性。
應該來說,這是我目前見到過的最合理的解決方案。
其他不再多說,主要是做一個思路上的小結。
新聞熱點
疑難解答