【问题标题】:Which PHP ORM works with Oracle and does not require PDO_OCI?哪个 PHP ORM 与 Oracle 一起使用并且不需要 PDO_OCI?
【发布时间】:2011-07-18 13:30:13
【问题描述】:

我想使用 ORM,但不幸的是,我们的数据库 (Oracle) 没有稳定的 PDO。 PHP 页面声明 PDO_OCI 扩展是“EXPERIMENTAL”并警告不要使用它。

Doctrine 和 Propel 似乎都需要 PDO。其他 Oracle/PHP 商店在生产中为 ORM 使用什么?

【问题讨论】:

    标签: php oracle orm


    【解决方案1】:

    Doctrine 2 supports OCI8 out of the box.

    对于 Doctrine 1.2,您必须使用 OCI8 extension(Oracle 积极支持的唯一一个)implement your own connection class。您可能会在 GitHub 或 googling for it 找到一个自定义类。

    至于Propel,在Propel Newgroups中有一个条目要求它:

    不幸的是,Propel 需要 PDO 和 PDOStatement 作为参数 贯穿整个 API,因此最好的选择是扩展 PropelPDO 和 PDOStatement 并使用 oci8 重新实现所需的方法。

    理论上,您可以使用 Propel 1.2.x,因为它使用 oci8 而不是 pdo_oci。

    【讨论】:

      【解决方案2】:

      PDO_OCI 扩展在技术上是“实验性的”,但无数人(包括我自己)每天都在生产系统上毫无问题地使用它。它已经超过 6 年了,而且相当稳定。

      【讨论】:

        【解决方案3】:

        OCI8怎么样?

        顺便说一句,您必须区分与 DBMS 通信的驱动程序和使用该驱动程序的 ORM。

        【讨论】:

        • 我们使用 OCI8,但它并没有提供太多超出准备好的语句。我们正在寻找一个成熟的 ORM。
        猜你喜欢
        • 2011-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多