Doctrine — объектно-реляционный проектор (ORM) для PHP 5.3.0+, который базируется на слое абстракции доступа к БД (DBAL). Одной из ключевых возможностей Doctrine является запись запросов к БД на собственном объектно-ориентированном диалекте SQL, называемый DQL (Doctrine Query Language) и базирующийся на идеях HQL (Hibernate Query Language).
Пример использования
Doctrine версии 1.* следует паттерну Active Record для работы с данными[1]. Для примера, если программист хочет создать пользователя в базе данных, он может больше не использовать SQL, а написать следующий PHP код:
$user = new User(); $user->name = "john"; $user->password = "doe"; $user->save(); echo "The user with id $user->id has been saved.";
Doctrine версии 2.* следует паттерну Data mapper (англ.)русск.. Для создания пользователя может использоваться следующий кодː
$user = new User(); $user->setName("john"); $user->setPassword("doe"); $entityManager->persist($user); $entityManager->flush(); echo "The user with id " . $user->getId() . "has been saved.";