© saicle/Shutterstock.com
PHP Magazin
Eine leichtgewichtige und konfigurationsarme ORM-Bibliothek für PHP

RedBeans

Ein neues Projekt, harte Deadlines, und natürlich müssen Daten in eine Datenbank gespeichert werden. Das DB-Schema ist von Anfang an noch unklar und kann sich in der Entwicklungsphase jederzeit ändern, aber „man soll ja schon mal anfangen“. Hier kommt RedBeanPHP ins Spiel.

Christian Nielebock


RedBeanPHP [1] ist eine kleine und einfach zu nutzende ORM-Bibliothek für PHP des niederländischen Webent­wicklers Gabor de Mooij. ORM steht im Englischen für „object-relational mapping“, wodurch Datensätze und Tabellen einer Datenbank durch (PHP-)Objekte dargestellt werden und somit die Entwicklung vereinfacht werden soll. Nehmen wir als Beispiel die Abfrage eines Nutzers aus der Datenbank: Der Entwickler würde nun hergehen, den DB-Adapter schreiben und eine Datenklasse für den User mit Gettern, Settern, Suchfunktionen, Filter und vielem anderen. Ebenso werden einige SQL Queries geschrieben und individuell angepasst. Das klappt gut und bis hierhin ohne weitere Fehler, jedoch ist nun schon viel Entwicklungszeit verloren gegangen. Durch die Nutzung eines ORM fällt zum großen Teil die Programmierung der Schnittstellen zur Datenbank weg, weil es diese Aufgabe übernimmt. Inwiefern der Zugriff für das Anlegen und Ändern der Daten umgesetzt ist, hängt ganz von der verwendeten Bibliothek ab und ist im Bereich von einfach bis sehr komplex angesiedelt.

Warum RedBeanPHP?

Bei der Menge an vorhandenen ORM-Bibliotheken fragt man sich, warum nun noch eine weitere entwickelt wurde – haben sich doch die Großen wie etwa Doctrine, Propel u. a. auf dem Markt etabliert. Viele Bibliotheken sind nur nach einem gewissen Konfigurationsaufwand einsatzbereit. Ist dieser überwunden, geht auch die Entwicklung schneller voran. RedBeanPHP nutzt einen etwas anderen Ansatz: Die Konfiguration ist lediglich ein Set-up-Aufruf mit den Zugangsdaten zur Datenbank und schon steht das gesamte ORM zur Verfügung. Ebenso muss man sich (erst mal) nicht um das Schema kümmern, da es durch die Programmierung vollautomatisch erstellt, angepasst und geändert wird. Gerade im letzteren Fall möchte ich den Vergleich zu Propel ziehen, da hier, sobald eine Schemaänderung in der Konfiguration vorgenommen wurde, alle PHP-Objekte durch einen Build-Aufruf neu generiert werden müssen, damit man auf die neuen Eigenschaften oder Felder zugreifen kann. Der Vorteil dieser Methode ist natürlich, dass es der genauen Überlegung bedarf, wie das Schema aussehen soll und wie es von Anfang an spezifiziert werden muss. Sieht man sich aber hier den Fall aus dem Einstiegstext an, kann diese Art von ORM schnell unbequem und zeit­intensiv werden.

Den Herd vorheizen: Installation und Set-up

Vor der Installation sollte man natürlich prüfen, welche RDBMS unterstützt werden. Aktuell kann RedBeanPHP in der Version 3.5.4 (LTS stable) mi...

PHP Magazin
Eine leichtgewichtige und konfigurationsarme ORM-Bibliothek für PHP

RedBeans

Ein neues Projekt, harte Deadlines, und natürlich müssen Daten in eine Datenbank gespeichert werden. Das DB-Schema ist von Anfang an noch unklar und kann sich in der Entwicklungsphase jederzeit ändern, aber „man soll ja schon mal anfangen“. Hier kommt RedBeanPHP ins Spiel.

Christian Nielebock


RedBeanPHP [1] ist eine kleine und einfach zu nutzende ORM-Bibliothek für PHP des niederländischen Webent­wicklers Gabor de Mooij. ORM steht im Englischen für „object-relational mapping“, wodurch Datensätze und Tabellen einer Datenbank durch (PHP-)Objekte dargestellt werden und somit die Entwicklung vereinfacht werden soll. Nehmen wir als Beispiel die Abfrage eines Nutzers aus der Datenbank: Der Entwickler würde nun hergehen, den DB-Adapter schreiben und eine Datenklasse für den User mit Gettern, Settern, Suchfunktionen, Filter und vielem anderen. Ebenso werden einige SQL Queries geschrieben und individuell angepasst. Das klappt gut und bis hierhin ohne weitere Fehler, jedoch ist nun schon viel Entwicklungszeit verloren gegangen. Durch die Nutzung eines ORM fällt zum großen Teil die Programmierung der Schnittstellen zur Datenbank weg, weil es diese Aufgabe übernimmt. Inwiefern der Zugriff für das Anlegen und Ändern der Daten umgesetzt ist, hängt ganz von der verwendeten Bibliothek ab und ist im Bereich von einfach bis sehr komplex angesiedelt.

Warum RedBeanPHP?

Bei der Menge an vorhandenen ORM-Bibliotheken fragt man sich, warum nun noch eine weitere entwickelt wurde – haben sich doch die Großen wie etwa Doctrine, Propel u. a. auf dem Markt etabliert. Viele Bibliotheken sind nur nach einem gewissen Konfigurationsaufwand einsatzbereit. Ist dieser überwunden, geht auch die Entwicklung schneller voran. RedBeanPHP nutzt einen etwas anderen Ansatz: Die Konfiguration ist lediglich ein Set-up-Aufruf mit den Zugangsdaten zur Datenbank und schon steht das gesamte ORM zur Verfügung. Ebenso muss man sich (erst mal) nicht um das Schema kümmern, da es durch die Programmierung vollautomatisch erstellt, angepasst und geändert wird. Gerade im letzteren Fall möchte ich den Vergleich zu Propel ziehen, da hier, sobald eine Schemaänderung in der Konfiguration vorgenommen wurde, alle PHP-Objekte durch einen Build-Aufruf neu generiert werden müssen, damit man auf die neuen Eigenschaften oder Felder zugreifen kann. Der Vorteil dieser Methode ist natürlich, dass es der genauen Überlegung bedarf, wie das Schema aussehen soll und wie es von Anfang an spezifiziert werden muss. Sieht man sich aber hier den Fall aus dem Einstiegstext an, kann diese Art von ORM schnell unbequem und zeit­intensiv werden.

Den Herd vorheizen: Installation und Set-up

Vor der Installation sollte man natürlich prüfen, welche RDBMS unterstützt werden. Aktuell kann RedBeanPHP in der Version 3.5.4 (LTS stable) mi...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang