Kohana 3.1 都有哪些可用的 ORM 解决方案?

Posted

技术标签:

【中文标题】Kohana 3.1 都有哪些可用的 ORM 解决方案?【英文标题】:What ORM solutions are available for Kohana 3.1?Kohana 3.1 有哪些可用的 ORM 解决方案? 【发布时间】:2011-04-07 03:48:15 【问题描述】:

Kohana 3.0 曾经有 Sprig、Jelly 等以及其默认的 ORM 系统。据我了解,Kohana 3.1 与 Sprig 和 Jelly 不兼容,其默认 ORM 仍在开发中。那么 Kohana 3.1 中的 ORM 用什么?

【问题讨论】:

只是为了好奇,你为什么不喜欢 Kohana 的默认 ORM?我在生产中使用它,效果非常好。 【参考方案1】:

看看Leap ORM for Kohana。你可以在https://github.com/spadefoot/kohana-orm-leap从github下载它

此 ORM 旨在与 Kohana 3.0.X、Kohana 3.1.X 和 Kohana 3.2 一起使用。与我见过的其他 Kohana ORM 不同,它适用于所有主要数据库(包括 mysql、MariaDB、PostgresSQL、MS SQL、DB2、Oracle、Firebird 和 Sqlite)。扩展 ORM 非常容易,而 Kohana 的默认 ORM 不经过大量工作就无法适应此类数据库。

这是非常有据可查的。与我见过的 Kohana 的其他 ORM 不同,它可以处理复合主键,并且可以使用多个整数作为主键(例如字符串)。它还使您可以使用简单的配置文件灵活地将数据库驱动程序从标准 php 扩展切换到 PDO。

【讨论】:

很长一段时间以来,我一直在寻找一种可以与其他数据库很好地配合使用的 ORM。Leap 是我发现的第一个真正做到正确的解决方案。 K3 ORM 和 Jelly 只是没有削减它,因为我不能使用复合键。教义太老了,不适合小花。与 PHP ActiveRecord 相同。与 LEAP 一起去......它会成功的。【参考方案2】:

你可以在 Github 找到 3.1 模块:

Jelly for 3.1(非官方分叉,Banks和Jonathan Geiger没时间开发)

Sprig branch for 3.1

【讨论】:

【参考方案3】:

您查看PHP ActiveRecord 了吗?它是一个 ActiveRecord 风格的 ORM,具有验证、关系、急切加载等功能。

【讨论】:

【参考方案4】:

我强烈建议您使用: http://www.doctrine-project.org/projects/orm

我在 Kohana 3.0 中使用了默认的 ORM(应该与 3.1 中的类似)和大项目中的学说 ORM。

教义很棒。你想要的一切都在那里。即使是非常特殊和棘手的情况。如果你使用默认的 Kohana 3 ORM,你最终会扩展它,因为它很简单。

Doctrine 中的配置部分可能有点吓人,因为有很多选项。但从长远来看,这确实是值得的:)

【讨论】:

以上是关于Kohana 3.1 都有哪些可用的 ORM 解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

Kohana ORM - 我该怎么做?

Kohana 2 ORM 自定义主键生成错误

如何在 Kohana 3 中链接多个 ORM 关系?

如何在 Kohana 3 ORM 关系中指定两个键

是否可以在不使用整个框架的情况下在 PHP 中为 ORM 安装 Kohana 库?

如何在 Kohana 中使用 ORM 连接表