mysql - thinkphp中控制器的劃分有什麼規範嗎?

來源:互聯網
上載者:User
關鍵字 php laravel yii mysql thinkphp
我的理解是每一個功能模組劃分出一個控制器,這樣的話,方便以後需求出現變動的時候,修改起來能儘可能的不影響其他模組

但是也看到有人說把所有輸出視圖的方法都單獨抽出來寫到IndexController控制器裡面,而IndexController控制器裡面再去調用其他控制器的方法。想想好像他們說的也有道理。
但是感覺如果後期需求有變動,那麼IndexController控制器也要進行修改,好像又違反了高內聚低耦合的原則。(應該是同一個功能下輸出視圖和資料處理應該是內聚在同一個控制器下)

搞的我現在不知道到底該怎麼劃分控制器了,有沒有人能分享一下自己的劃分方式以及規範。

回複內容:

我的理解是每一個功能模組劃分出一個控制器,這樣的話,方便以後需求出現變動的時候,修改起來能儘可能的不影響其他模組

但是也看到有人說把所有輸出視圖的方法都單獨抽出來寫到IndexController控制器裡面,而IndexController控制器裡面再去調用其他控制器的方法。想想好像他們說的也有道理。
但是感覺如果後期需求有變動,那麼IndexController控制器也要進行修改,好像又違反了高內聚低耦合的原則。(應該是同一個功能下輸出視圖和資料處理應該是內聚在同一個控制器下)

搞的我現在不知道到底該怎麼劃分控制器了,有沒有人能分享一下自己的劃分方式以及規範。

目前我們使用thinkphp是兩種方式放在一起使用的
.
|-- Login
| `-- Action
| |-- IndexAction.class.php
| `-- LoginAction.class.php
|-- Query
| `-- Action
| |-- AgentChargeLogAction.class.php
| |-- AgentFundsLogAction.class.php
| |-- IndexAction.class.php
| |-- MobileTelAction.class.php
| |-- OrderQueryAction.class.php
| |-- ProductAction.class.php
| `-- UserAction.class.php
|-- Trade
| `-- Action
| |-- CardlibAction.class.php
| |-- FlowAction.class.php
| |-- IndexAction.class.php
| |-- QcoinsAction.class.php
| `-- TelAction.class.php

我們每個功能模組劃分出一個目錄。
把所有輸出視圖的方法都單獨抽出來寫到IndexAction(3.1版本)控制器裡面,而IndexAction控制器裡面再去調用其他控制器的方法。

建議一個功能模組一個控制器或者一個檔案夾。這樣維護修改都方便

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.