哪个PHP ORM与Oracle一起使用并且不需要PDO_OCI?

时间:2011-07-18 13:30:14

标签: php oracle orm

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

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

3 个答案:

答案 0 :(得分:3)

Doctrine 2 supports OCI8 out of the box

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

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

  

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

  

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

答案 1 :(得分:1)

PDO_OCI扩展在技术上是“实验”,但是人们(包括我自己)的b'jillions(夸张)每天都在生产系统上使用它而没有问题。它超过6年,非常稳定。

答案 2 :(得分:0)

OCI8怎么样?

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