WikiDer > Доктрина (PHP)

Doctrine (PHP)
Доктрина
Doctrine logo white.png
Стабильный выпуск
2.6.2 / 12 июля 2018 г. (2018-07-12)
Написано вPHP
Операционная системаКроссплатформенность
ТипОбъектно-реляционное отображение рамки
ЛицензияМассачусетский технологический институт
Интернет сайтwww.doctrine-project.org

В Доктрина Проект (или же Доктрина) - это набор библиотек PHP, в первую очередь ориентированных на предоставление упорство услуги и связанные с ними функции. Его призовые проекты являются объектно-реляционный преобразователь (ORM) и уровень абстракции базы данных он построен поверх.

Одна из ключевых особенностей Doctrine - возможность писать запросы к базе данных на языке запросов Doctrine (DQL), объектно-ориентированном диалекте SQL.

Демонстрация использования

Сущности в Doctrine 2 - это легкие объекты PHP, которые содержат постоянные свойства. Постоянное свойство - это переменная экземпляра сущности, которая сохраняется в базе данных и извлекается из нее с помощью возможностей отображения данных Doctrine через Entity Manager - реализация шаблон отображения данных:

 $ пользователь = новый Пользователь(); $ пользователь->имя = "Джон2"; $ пользователь->пароль = "лань"; $ entityManager->сопротивляться($ пользователь); $ entityManager->румянец(); эхо "Пользователь с идентификатором $ user-> id был спасен ".;

Доктрина 1.x следует активный шаблон записи для работы с данными, где учебный класс соответствует таблица базы данных. Например, если программист хотел создать новый объект «Пользователь» в базе данных, ему больше не нужно было бы писать SQL запросы, но вместо этого можно использовать следующий код PHP:

 $ пользователь = новый Пользователь(); $ пользователь->имя = "Джон"; $ пользователь->пароль = "лань"; $ пользователь->спасти(); эхо "Пользователь с идентификатором $ user-> id был спасен ".;

Функции

Одной из особенностей Doctrine является низкий уровень конфигурации, необходимый для запуска проекта. Doctrine может генерировать классы объектов из существующей базы данных, а затем программист может указать отношения и добавить пользовательские функции к созданным классам. Нет необходимости создавать или поддерживать сложные XML схемы баз данных, как видно во многих других фреймворках.

Еще одна ключевая особенность Doctrine - возможность дополнительно писать запросы к базе данных в объектно-ориентированном (объектно-ориентированный) Диалект SQL называется DQL (Doctrine Query Language) вдохновлен Hibernate's HQL. В качестве альтернативы QueryBuilder учебный класс (Doctrine_Query в Doctrine 1.x) позволяет строить запросы через свободный интерфейс. Эти интерфейсы предоставляют разработчикам мощные альтернативы SQL, которые сохраняют гибкость и по-прежнему позволяют переключать серверные части базы данных, не требуя дублирования кода.

Однако явное написание запросов не всегда необходимо, поскольку Doctrine выполняет присоединяется и автоматически выбирает связанные объекты. Небольшие проекты можно легко создавать без написания запросов.

Другие примечательные особенности Doctrine:

  • поддержка ловушек (методов, которые могут проверять или изменять ввод и вывод базы данных) и прослушивателей событий для структурирования бизнес-логики;
  • наследование агрегации столбцов (аналогичные объекты могут храниться в одной таблице базы данных, при этом один столбец типа определяет подтип конкретного объекта - при выполнении запроса всегда возвращается правильный подкласс);
  • фреймворк кеширования, использующий несколько бэкэндов, таких как memcached, SQLite или же APC;
  • КИСЛОТА транзакции;
  • миграции баз данных;
  • функция "компиляции" для объединения многих файлов PHP фреймворка в один, чтобы избежать снижения производительности, обычно вызываемого включением множества файлов PHP фреймворка.

История

Доктрина была основана Конста Вестериненом, также известным как zYne-. Первоначальное обязательство по проекту было принято 13 апреля 2006 г. По мере того, как проект становился более зрелым, его внедрение начало набирать обороты. Вскоре сообщество было активным, и разработка получала регулярные взносы, в том числе от Google Summer of Code проект.

Doctrine 1.0.0 была выпущена 1 сентября 2008 года.[1]

Первая стабильная версия Doctrine 2.0 была выпущена 22 декабря 2010 года после 2,5 лет целенаправленной разработки, начавшейся в начале 2008 года.[2]

Влияния

На Doctrine повлияли десятки проектов и множество разных людей. Наибольшее влияние оказали Ява ORM Спящий режим и ActiveRecord из Рубин на рельсах. Оба этих ORM-решения реализовали полнофункциональное решение на Java и Рубин языков. Цель проекта Doctrine - создать столь же мощное решение для языка PHP для высоконагруженных веб-сайтов, которые должны поддерживать постоянный поток посетителей. Doctrine ORM можно использовать для повышения производительности таких веб-сайтов.

Сообщество

Смотрите также

Рекомендации

внешняя ссылка