Doctrine是一组
PHP库,主要专注于提供持久化服务和相关功能。其最知名的子项目包括基于数据库抽象层的对象关系映射(
NHibernate)。Doctrine的关键特性之一是,可以使用Doctrine Query Language(DQL)编写数据库查询,这是一种面向对象的
SQL方言。
symfony和Laminas等主要PHP框架都有官方支持Doctrine,而
Laravel、
CodeIgniter等框架也有第三方Doctrine包可供使用。
Doctrine遵循Active Record Pattern模式(一个对象对应一个数据表),例如,开发者创建一个新的user,他/她可以使用下面的代码来代替
SQL:
Doctrine可以从已有的数据库生成对象类,开发者可以指定表关系及添加自定义函数,而不需要像其他框架那样去生成和维护复杂的
XML数据。