Doctrine — объектно-реляционный проектор (ORM) для PHP 7.1+, который базируется на слое абстракции доступа к БД (DBAL). Одной из ключевых возможностей Doctrine является запись запросов к БД на собственном объектно-ориентированном диалекте SQL, называемом DQL (Doctrine Query Language) и базирующемся на идеях HQL (Hibernate Query Language).
Пример использования
Doctrine версии 1.* следует паттерну Active Record для работы с данными[3]. Для примера, если программист хочет создать пользователя в базе данных, он может больше не использовать 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.";
Применение
Doctrine ORM применяется во фреймворках Laravel, Yii, Symfony.
Литература
- Jonathan H. Wage, Konsta Vesterinen. Doctrine ORM for PHP. — Sensio SA, 2009. — 522 p. — ISBN 978-2918390039.
Примечания
- ↑ Release 3.3.2 — 2025.
- ↑ The doctrine Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Introduction — Doctrine 1.2.4 documentation . Дата обращения: 17 февраля 2016. Архивировано из оригинала 25 марта 2016 года.