Doctrine
Doctrine | |
---|---|
Тип | PHP library[вд] |
Написана на | PHP[2] |
Операционная система | кроссплатформенность |
Первый выпуск | 13 апреля 2006 |
Последняя версия | |
Репозиторий | github.com/doctrine/orm |
Лицензия | лицензия MIT |
Сайт | doctrine-project.org (англ.) |
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.
Примечания
Ссылки
- Официальный сайт Doctrine
- Doctrine и CodeIgniter
- Базы данных и ORM Doctrine в Symfony