2014-02-27 51 views
0

我在Kohana 3.x中發現的一件事涉及ORM和MVC。事實上,遠在ORM部分,我可以閱讀控制器中的基本示例。在哪裏調用數據庫,進行修改並直接保存到數據庫......這並不重視MVC概念。Kohana 3.x ORM範例和MVC概念

class Controller_User extends Controller { 
    function action_register() { 
    $user = ORM::factory('User') 
    ->values($this->input->post()) 
    ->save(); 
    } 
} 

他們可以在其文檔

class Model_user extends ORM { 
function register($array) { 
return ORM::factory('User')->values($array)->save(); 
} 
} 

在這樣做了,只需撥打型號::註冊($陣列)從控制器

我認爲最好的做法駐留在MVC的有用。任何建議?

+0

我總是把它的功能我知道我將在模型中使用多於一次,並且只會在另一個地方發生(例如用戶註冊)。另外,這個東西是專門爲用戶認證設計的嗎? http://kohanahanaworkwork.org/3.3/guide-api/Model_Auth_User#create_user – AmazingDreams

+1

好吧,是的,Kohana並沒有實現MVC(或者甚至任何類似MVC模式的東西)。它更像Rails-like模式。你可能會發現這個[講座](https://www.youtube.com/watch?v=3uV3ngl1Z8g)是開始轉向MVC的一個很好的起點。 –

+0

是@tereško在Kohana上工作時考慮MVC是毫無用處的。他們甚至在模型中而不是在控制器中檢查驗證提交。我想我會專注於向前邁進的文檔。 Thx – DeathCoder

回答

1

Kohana文檔通常顯示最快捷的方式來獲得結果不一定是最好的方法。

最好的做法是你必須通過閱讀論壇和博客找出自己的東西。一個人最佳實踐的想法可能不是另一個人的想法。

個人而言,我同意你的看法,並有薄的控制器,做所有繁重的模式,但我敢肯定,很多人會告訴我,我做的一切都是錯誤的;-)

+0

我正在努力把重點放在控制器中的每一件事情上,並在模型中進行形式驗證。這是保持我的代碼非常乾淨,同一工作中的下一個開發人員稍後也可能適合。感謝您的貢獻。 – DeathCoder