什么是条令';s的数据库抽象层提供了简单的PDO


What does Doctrine's Database Abstraction Layer offer over simple PDO?

如果在简单的PDO上使用Doctrine的数据库抽象层(DBAL),我会得到什么?

PDO本身不应该是一个抽象层吗?据我所知,我获得的唯一好处是能够将Oracle的oci8驱动程序与类似PDO的API一起使用。

我错过了什么?

任何DB抽象层的好处都是减少开发人员的错误数量(不仅如此)。

它们之间的区别在于抽象的层次。例如,DBAL构建在PDO之上。这意味着,DBAL的抽象级别肯定要比PDO高一点。

无论如何,它们都是非常低层次的抽象。只有当您对相关数据库有很好的了解时,才应该使用它们。我的意思是,你应该了解所有类型的存储数据,并以正确的方式使用它,你还应该在构建不同的数据库架构方面有一些经验,并知道每种关系类型的优势。

如果没有,我建议你使用更抽象的东西(例如Eloquent)。

附言:我知道我上面写的所有内容,但无论如何,我使用的是建立在Eloquent之上的抽象层。所以,我看到了使用我所拥有的最高抽象级别的感觉。。。