Перейти к содержанию

Doctrine

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Doctrine
Логотип программы Doctrine

Doctrineобъектно-реляционный проектор (ORM) для PHP 7.1+, который базируется на слое абстракции доступа к БД (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.";

Применение

Doctrine ORM применяется во фреймворках Laravel, Yii, Symfony.

Литература

  • Jonathan H. Wage, Konsta Vesterinen. Doctrine ORM for PHP. — Sensio SA, 2009. — 522 p. — ISBN 978-2918390039.

Примечания

  1. Introduction — Doctrine 1.2.4 documentation (недоступная ссылка). Дата обращения: 17 февраля 2016. Архивировано 25 марта 2016 года.

Ссылки