Doctrine是基于数据库抽像层上的ORM,它可以通过PHP对象轻松访问所有的数据库,例如MYSQL,
Doctrine DBAL是一个轻量级的类似于PDO的数据库抽象接入层。它是一个面向对象的架构,需求PHP5.3版本的支持,因为它的实现用到了命名空间。除了类似于PDO的操作外,它允许人们定制属于自己的数据库支持。DBAL能够被用于ORM,这在Doctrine ORM项目中有体现。
ORM也是基于DBAL的,DBAL提供了一个统一的基于pdo的接口,主要使用方式是使用QueryBuilder或者直接执行原生sql,ORM是在它基础上使用对象来映射表数据和关联关系,以及接口更丰富的QueryBuilder和DQL,所以看使用场景来决定使用哪个效率更高。