PHP MVC的M,應該是寫C所要調用的商務邏輯方法,還是訪問資料庫的方法?

來源:互聯網
上載者:User
或者,兩者都包括在這裡?

回複內容:

或者,兩者都包括在這裡?

個人覺得如果業務不複雜的話,把商務邏輯寫在model層,C層唯寫簡單的調度...
曾經大量的代碼與邏輯寫在C層,但複用性很差,比如前台與後台要調用一個業務的邏輯基本相似,寫在C層就感覺很冗餘
如果業務複雜,可以再單獨分個層專門處理這些邏輯,M層就負責與資料相關的儲存即可.

主要看你的業務和代碼代碼約定,沒有固定的用處,要靈活運用。

個人建議每個Model資料模型對應特定的資料表,處理單獨的資料表業務,邏輯是業務的實現方式,按照業務去封裝,這樣便於維護。

M是資料模型,對於C來講M就相當於是資料庫的一張表,只負責存取資料,商務邏輯完全在C中實現,C告訴M存什麼數存哪些欄位,M負責產生並執行相應的SQL語句然後向C報告結果。

兩者皆可。你可以把圍繞Model的常見操作寫成相應Model類的方法,也可以把它們作為商務邏輯寫到Controller的Action裡去。

我一般把操作圍繞單個Model的CRUD模組直接寫成方法,這樣在多個Controller裡調用(Controller要負責錯誤提示輸出);涉及多個Model的複雜事務,則完全寫在控制器中。

商務邏輯全部放到C層,C層的職責顯得太多了,C層專門調用M和V

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.