RedBeanPHP
Wersja stabilna | 5.7 / 3 kwietnia 2021
|
---|---|
Napisane w | PHP |
System operacyjny | Wieloplatformowy |
Typ | Biblioteka mapowania obiektowo-relacyjnego |
Licencja | BSD GPLv2 |
Strona internetowa |
RedBeanPHP to niezależne, bezpłatne, licencjonowane przez BSD oprogramowanie typu open source do mapowania obiektowo-relacyjnego (ORM), napisane przez Gabora de Mooij. Jest to samodzielna biblioteka, nie będąca częścią żadnego frameworka. RedBeanPHP to narzędzie do mapowania relacyjnego obiektów działające w locie, co oznacza, że nie ma potrzeby wcześniejszej konfiguracji. System w całości opiera się na konwencjach i dostosowuje schemat bazy danych do potrzeb programu. W ten sposób zapewnia równowagę pomiędzy NoSQL i tradycyjnymi rozwiązaniami RDBMS .
Cechy
RedBeanPHP różni się od innych systemów ORM tym, że nie wymaga konfiguracji w formacie XML , YAML ani JSON . Dostosowuje schemat bazy danych w oparciu o potrzeby programu. Wszystkie tabele i kolumny są tworzone na bieżąco, bez wcześniejszej konfiguracji i mapowania. Jeśli to konieczne, automatycznie dodaje kolumny do tabel i zmienia typ kolumny, aby dopasować ją do wymagań dotyczących zawartości. Gdy programista zakończy programowanie i nie są spodziewane żadne dalsze zmiany schematu, schemat można zamrozić w celu wdrożenia w środowiskach produkcyjnych. Po zamrożeniu bazy danych nie są już dokonywane żadne zmiany schematu. Relacje między tabelami są odwzorowywane w ten sam sposób: zgodnie z konwencją. Na przykład, aby utworzyć relację jeden do wielu między dwiema tabelami, przypisuje się tablicę do właściwości noszącej nazwę tabeli docelowej. Spowoduje to automatyczne utworzenie tabeli i wymaganych kolumn.
Przykład kodu demonstrujący prostą operację CRUD i relację:
R :: konfiguracja (); $film = R :: wydanie ( „film” ); $film -> tytuł = 'Fasola w kosmosie' ; $znak = R :: wydanie ( „znak” ); $znak -> imię = 'bohater' ; $film -> ownCharacterList [] = $znak ; $id = R :: store ( $film );
Wpływ
RedBeanPHP to pierwsza znana biblioteka, która przyjęła podejście „w locie” do ORM. Jako taki ma duży wpływ na inne biblioteki. RedBeanPHP zainspirował wiele innych projektów do przyjęcia tego podejścia do mapowania obiektów. Podobne biblioteki pojawiły się dla .NET , Python , JavaScript , Java , Erlang , ColdFusion i Objective-C .
Integracja
Będąc niezależną biblioteką, moduły wtyczek zostały opracowane dla różnych popularnych frameworków, takich jak: Laravel , CodeIgniter , Kohana, Silex i Zend Framework . Oprócz modułów integracyjnych, niektóre frameworki są dostarczane z RedBeanPHP od razu po wyjęciu z pudełka, np. The Nibble Framework.
Historia
RedBeanPHP po raz pierwszy pojawił się w 2009 roku na GitHubie. Pierwszą publicznie dostępną wersją była wersja 0.3.3. RedBeanPHP został opracowany przez Gabora de Mooij, programistę z Holandii . Ponieważ RedBeanPHP jest bardzo przystępny i nie kryje SQL , jest używany przez uniwersytety do nauczania programowania baz danych. Według wpisu na forum samego Gabora, biblioteka została zainspirowana tyradą Teda Newarda na temat systemów mapowania relacyjnego obiektu, zatytułowaną „ORM, Wietnam informatyki”.
Przyjęcie
Na podstawie recenzji i prezentacji dostępnych w sieci ogólny odbiór RedBeanPHP wydaje się być pozytywny. Jednakże biblioteka jest mniej odpowiednia dla projektów z istniejącymi bazami danych i nie obsługuje niestandardowych mapowań tabel i kolumn, na przykład nie jest możliwe użycie przedrostków tabel. Ponadto żaden z głównych frameworków nie zawierał biblioteki.