哪个PHP ORM与Oracle一起工作,不需要PDO_OCI


Which PHP ORM works with Oracle and does not require PDO_OCI?

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

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

Doctrine 2支持OCI8开箱即用。

对于Doctrine 1.2,你必须使用OCI8扩展(Oracle唯一积极支持的扩展)实现你自己的连接类。很有可能,你会在GitHub上找到一个自定义类,或者通过谷歌搜索它。

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

  • https://groups.google.com/group/propel-users/browse_thread/thread/9977c9556beaf1ac

遗憾的是,Propel需要PDO和PDOStatement作为参数在整个API中,最好的选择列表是扩展PropelPDO和并使用oci8重新实现所需的方法。

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

PDO_OCI扩展在技术上是"实验性的",但是数以百万计(夸张地说)的人(包括我自己)每天都在生产系统上使用它,没有任何问题。它已经超过6年了,非常稳定。

OCI8呢?

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