【问题标题】:Kohana 3.x ORM paradigm and MVC conceptKohana 3.x ORM 范式和 MVC 概念
【发布时间】:2014-02-27 07:49:28
【问题描述】:

我在 Kohana 3.x 中发现的一件事与 ORM 和 MVC 有关。事实上,远在 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();
}
}

并且只需从控制器调用 Model::register($array)。

我认为最佳实践在于 MVC 的有用性。有什么建议吗?

【问题讨论】:

  • 我总是将我知道我将在模型中使用不止一次的功能,以及只会在一个地方发生的东西(例如用户注册)放在另一个地方。另外,这个专门为用户认证设计的东西呢? kohanaframework.org/3.3/guide-api/Model_Auth_User#create_user
  • 嗯 .. 是的,Kohana 没有实现 MVC(或者任何与 MVC 模式类似的东西)。它更接近于类似 Rails 的模式。您可能会发现此 lecture 是开始向 MVC 转变的良好起点。
  • 是的@tereško 在 Kohana 上工作时考虑 MVC 是没有用的,它没用。他们甚至在模型而不是控制器中检查验证提交。我想我将专注于文档以继续前进。谢谢

标签: php model-view-controller kohana kohana-orm


【解决方案1】:

Kohana 文档通常显示获得结果的最快方法不一定是最好的方法。

最佳实践实际上是您必须通过阅读论坛和博客自己弄清楚的东西。一个人对最佳实践的想法可能不是另一个人的。

就我个人而言,我同意你的观点,并且拥有精简的控制器并完成了模型中的所有繁重工作,但我相信很多人会告诉我我做错了 ;-)

【讨论】:

  • 我正试图专注于在控制器中做每一件事并在模型中进行表单验证。这使我的代码保持非常干净,并且同一工作中的下一个开发人员也可能在以后很好地适应。感谢您的贡献。
猜你喜欢
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 2011-05-02
  • 2012-12-31
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
相关资源
最近更新 更多