2014-02-27 49 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