RedBeanPHP

RedBeanPHP
Стабильный релиз
5.7 / 3 апреля 2021 г. ( 2021-04-03 )
Репозиторий
  • github.com/gabordemooij/redbean
Написано вPHP
Операционная системаКроссплатформенный
ТипБиблиотека объектно-реляционного отображения
ЛицензияBSD GPLv2
Веб-сайтredbeanphp.com

RedBeanPHP — это независимое, бесплатное, лицензированное BSD программное обеспечение с открытым исходным кодом для объектно-реляционного отображения (ORM), написанное Габором де Муи. Это автономная библиотека, а не часть какой-либо структуры. RedBeanPHP — это объектно-реляционный преобразователь «на лету», это означает, что нет предварительной настройки. Система полностью полагается на соглашения и адаптирует схему базы данных в соответствии с потребностями программы. Таким образом, она достигает баланса между NoSQL и традиционными решениями RDBMS .

Функции

RedBeanPHP отличается от других систем ORM , поскольку не требует настройки в XML , YAML или JSON . Он адаптирует схему базы данных в соответствии с потребностями программы. Все таблицы и столбцы создаются «на лету», без предварительной настройки или сопоставления. Он автоматически добавляет столбцы в таблицы, если необходимо, и изменяет тип столбца в соответствии с требованиями к его содержимому. Когда разработчик завершает разработку и больше не ожидается никаких изменений схемы, схему можно заморозить для развертывания в производственных средах. После заморозки базы данных больше никаких изменений схемы не происходит. Связи между таблицами сопоставляются таким же образом: по соглашению. Например, чтобы создать связь «один ко многим» между двумя таблицами, нужно назначить массив свойству с именем целевой таблицы. Это автоматически создает таблицу, а также требуемые столбцы.

Пример кода, демонстрирующий простую операцию CRUD и отношение:

R :: setup (); $movie  =  R :: dispense ( 'movie' ); $movie -> title  =  'Фасоль в космосе' ; $character  =  R :: dispense ( 'character' ); $character -> name  =  'hero' ; $movie -> ownCharacterList []  =  $character ; $id  =  R :: store ( $movie );

Влияние

RedBeanPHP — первая известная библиотека, которая приняла подход «на лету» к ORM. Таким образом, она оказала большое влияние на другие библиотеки. RedBeanPHP вдохновила многие другие проекты принять этот подход к отображению объектов. Похожие библиотеки появились для .NET , [1] Python , [2] JavaScript , [3] Java , [4] Erlang , [5] ColdFusion [6] и Objective-C . [7]

Интеграция

Будучи независимой библиотекой, модули плагинов были разработаны для различных популярных фреймворков, таких как: Laravel , [8] CodeIgniter , [9] Kohana, [10] Silex [11] и Zend Framework . [12] Помимо модулей интеграции, некоторые фреймворки поставляются с RedBeanPHP «из коробки», например, The Nibble Framework. [13]

История

RedBeanPHP впервые появился в 2009 году на GitHub. [14] Первая общедоступная версия была 0.3.3. RedBeanPHP был разработан Габором де Муи, разработчиком программного обеспечения из Нидерландов . Поскольку RedBeanPHP очень доступен и не скрывает язык SQL , он используется университетами для обучения программированию баз данных. [15] Согласно сообщению на форуме самого Габора, библиотека была вдохновлена ​​тирадой о системах объектно-реляционного отображения Теда Ньюарда, названного «ORM, Вьетнам компьютерной науки». [16] [17]

Прием

На основании обзоров и презентаций, доступных в Интернете, общее восприятие RedBeanPHP, по-видимому, положительное. [18] [19] [20] [21] Однако библиотека менее подходит для проектов с существующими базами данных и не поддерживает пользовательские сопоставления таблиц и столбцов, например, невозможно использовать префиксы таблиц. [22] Кроме того, ни один из основных фреймворков не включил эту библиотеку.

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

Ссылки

  1. ^ LimeBean, RedBeanPHP-вдохновленный уровень доступа к данным для .NET
  2. ^ PyBean, RedBeanPHP вдохновили ORM для Python
  3. ^ "Тайр". npm . Получено 2016-07-02 .
  4. ^ RedBean4J RedBean вдохновил ORM для Java (теперь заброшен)
  5. ^ RedBean-Эрланг
  6. ^ RedBeanCF
  7. ^ CocoaBean, RedBeanPHP-библиотека для Objective-C
  8. ^ Пакет RedBeanPHP для Laravel
  9. ^ плагин codeigniter-redbean для фреймворка CodeIgniter
  10. ^ Модуль интеграции Kohana
  11. ^ Поставщик услуг RedBean для Silex
  12. ^ Интеграция RedBeanPHP с Zend Framework
  13. ^ Nibble Framework: фреймворк на основе плагинов для PHP
  14. ^ [1] Первый коммит RedBeanPHP на Github
  15. ^ http://www.cs.wcupa.edu/rkline/wp/mysql-php.html Факультет компьютерных наук Университета Вест-Честера Курс RedBeanPHP
  16. ^ Сообщение на форуме с подробным описанием вдохновения для RedBeanPHP
  17. ^ Вьетнам компьютерных наук Архивировано 2010-04-30 на Wayback Machine
  18. ^ Обзор RedBeanPHP на SitePoint
  19. ^ Интервью с генеральным директором Zurmo, упоминающим RedBeanPHP
  20. ^ Обзор RedBeanPHP от Dreamincode [узурпировано]
  21. ^ Обзор RedBeanPHP с существующей базой данных
  22. ^ Список подходящих проектов на сайте RedBeanPHP
  • RedBean официальный сайт
  • Домашняя страница автора
Взято с "https://en.wikipedia.org/w/index.php?title=RedBeanPHP&oldid=1247086546"