2011-07-02 41 views
0

我認爲該框架不應該」是開發一個籠子裏,因爲Kohana中給出了一個很大的自由度,我只是想知道如何做其他人處理兩個動作有關的東西:Kohana的3內部操作

  1. 內部動作。我的意思是,如果我有一個真正的長期行動,我把它分成像internal_action,internal_someotheraction一些子動作。你覺得怎麼樣,這是一個好習慣嗎?或者,也許你避免其他功能,然後控制器中的標準動作?然後,可能detec是一種叫做內心的行爲?

  2. 你是否有時候會想方設法,當你想通過做$this->action_other;return;重定向到其他行動?或者你總是創建一個新的HMVC重定向?

回答

0

我經常發現需要在單個控制器或一組控制器內的公共操作之間共享功能。所以,我要麼創建私有的或受保護的方法來在控制器內執行任務,要麼創建一個基本控制器,以便我的幾個控制器可以擴展以便利用和/或指定所需的功能。

我也有情況,特別是在表單處理方案中,我不會生成或關聯任何特定操作的輸出,而是會在我根據需要處理請求的操作後調用另一個操作來處​​理輸出。我通常不會在這些場景中使用HMVC,因爲我可以輕鬆獲得所需的邏輯。我最終在我依賴另一個控制器中的邏輯和代碼來收集和填充適當的輸出/視圖的場景中使用HMVC請求。如果我已經有了必要的數據,那麼我只需要使用當前控制器的視圖。

我不能說最佳做法可能是什麼,但我相信它很大程度上取決於您的情況。 HMVC的一切請求肯定會有不必要的開銷。

+0

是的,過了一段時間,我認爲它總是取決於情況,因爲Kohana有很多擴展事物的方式。有時我會在控制器中執行私人功能,如果他們只是控制器特定的。我也使用控制器繼承 - 就像你所說的。通用和可重用控制器的東西進入助手。 HMVC很有用 - 當然,但並不總是方便。 – Luigi