© saicle/Shutterstock.com
PHP Magazin
lmbObject - Objektorientierung in Limbas

Limbas im Einsatz

Unter Entwicklern kommt es immer wieder zum Streit bei der Frage, was besser sei: Prozedurales Programmieren oder doch lieber objektorientiert? Limbas, ein in PHP geschriebenes Open-Source-Framework zur Erstellung von individuellen Datenbankanwendungen, stellt beides zur Verfügung.

Christian Wittkowski


Mit dem neuen API lmbObject ist ein objektorientierter Zugriff auf die gespeicherten Daten über die SOAP-Schnittstelle möglich – mit allen Vorteilen, die die Objektorientierung bietet. Im folgenden Artikel werden das API erläutert und beispielhaft dessen Einsatzmöglichkeiten gezeigt.

Was bietet das neue API?

Das objektorientierte Entwickeln bietet viele Vorteile, etwa, dass Daten und Funktionen dabei eng mit einem Objekt zusammengefasst werden. Das neue API bietet die Möglichkeit, eine Datenbanktabelle als Objekt zurückzugeben und darauf verschiedene Methoden auszuführen. Ebenso wird verhindert, dass Methoden fremder Objekte die Daten manipulieren. Durch den folgenden Aufruf wird ein Objekt Kunde mit den Attributen ID, Name und Namenszusatz kreiert: $lrKunde = LimbasRecord::model('KUNDEN', array('ID', 'NAME', 'NAME_ZUSATZ'));. Allgemein lautet der Aufruf: $object = LimbasRecord::model($tableName, $attributes=null);.

Zurückgegeben wird eine statische Instanz der genannten LimbasRecord-Klasse. Im obigen Beispiel ist das die Tabelle Kunden, an der anschließend die Klassenmethoden aufgerufen werden können. An einer solchen Objektinstanz können nun Methoden ausgeführt, mit diesem Objekt verknüpfte Objekte zurückgegeben oder neue Objekte abgeleitet werden. Werden die Kontakte eines Kunden benötigt, öffnet man zuerst das Objekt Kunden mit den Attributen ID und Kontakte. Mithilfe der Funktion findById() holt man sich den gewünschten Kunden und über ihn anschließend die Kontakte:

$lrKunde = LimbasRecord::model('KUNDEN', array('ID', 'Kontakte'));$kunde = $lrKunde->findById(1);$relation = $kunde->KONTAKTE();

Darüber hinaus lassen sich Logging-Protokolle erstellen. Dabei können die Ausgaben als einfache Logging-Strings zurückgegeben, die Logging-Strings in eine Datei ausgegeben oder als Webausgabe aufbereitet werden. Um sich während der Entwicklung ein Objekt einfach anzeigen zu lassen, kann es mittels echo (echo $kunde;) als HTML-Tabelle ausgegeben werden (Abb. 1).

Abb. 1: Darstellung der „echo“-Ausgabe für Objekte

Der Sourcecode des API findet sich im Verzeichnis / limbas_src/extra/lmbObject/. Er ist in drei Packages eingeteilt:

base: Enthält die abstrakte Klasse LimbasComponent, in der einige der magischen Methoden behandelt werden, sowie die Klasse LimbasException.db: Beinhaltet die Klassen LimbasRecord und LimbasRelation, die beide von der Klasse LimbasComponent erben, und die Klasse LimbasRecordException, die von der Klasse LimbasException erbt. Bei der Klasse Limb...

PHP Magazin
lmbObject - Objektorientierung in Limbas

Limbas im Einsatz

Unter Entwicklern kommt es immer wieder zum Streit bei der Frage, was besser sei: Prozedurales Programmieren oder doch lieber objektorientiert? Limbas, ein in PHP geschriebenes Open-Source-Framework zur Erstellung von individuellen Datenbankanwendungen, stellt beides zur Verfügung.

Christian Wittkowski


Mit dem neuen API lmbObject ist ein objektorientierter Zugriff auf die gespeicherten Daten über die SOAP-Schnittstelle möglich – mit allen Vorteilen, die die Objektorientierung bietet. Im folgenden Artikel werden das API erläutert und beispielhaft dessen Einsatzmöglichkeiten gezeigt.

Was bietet das neue API?

Das objektorientierte Entwickeln bietet viele Vorteile, etwa, dass Daten und Funktionen dabei eng mit einem Objekt zusammengefasst werden. Das neue API bietet die Möglichkeit, eine Datenbanktabelle als Objekt zurückzugeben und darauf verschiedene Methoden auszuführen. Ebenso wird verhindert, dass Methoden fremder Objekte die Daten manipulieren. Durch den folgenden Aufruf wird ein Objekt Kunde mit den Attributen ID, Name und Namenszusatz kreiert: $lrKunde = LimbasRecord::model('KUNDEN', array('ID', 'NAME', 'NAME_ZUSATZ'));. Allgemein lautet der Aufruf: $object = LimbasRecord::model($tableName, $attributes=null);.

Zurückgegeben wird eine statische Instanz der genannten LimbasRecord-Klasse. Im obigen Beispiel ist das die Tabelle Kunden, an der anschließend die Klassenmethoden aufgerufen werden können. An einer solchen Objektinstanz können nun Methoden ausgeführt, mit diesem Objekt verknüpfte Objekte zurückgegeben oder neue Objekte abgeleitet werden. Werden die Kontakte eines Kunden benötigt, öffnet man zuerst das Objekt Kunden mit den Attributen ID und Kontakte. Mithilfe der Funktion findById() holt man sich den gewünschten Kunden und über ihn anschließend die Kontakte:

$lrKunde = LimbasRecord::model('KUNDEN', array('ID', 'Kontakte'));$kunde = $lrKunde->findById(1);$relation = $kunde->KONTAKTE();

Darüber hinaus lassen sich Logging-Protokolle erstellen. Dabei können die Ausgaben als einfache Logging-Strings zurückgegeben, die Logging-Strings in eine Datei ausgegeben oder als Webausgabe aufbereitet werden. Um sich während der Entwicklung ein Objekt einfach anzeigen zu lassen, kann es mittels echo (echo $kunde;) als HTML-Tabelle ausgegeben werden (Abb. 1).

Abb. 1: Darstellung der „echo“-Ausgabe für Objekte

Der Sourcecode des API findet sich im Verzeichnis / limbas_src/extra/lmbObject/. Er ist in drei Packages eingeteilt:

base: Enthält die abstrakte Klasse LimbasComponent, in der einige der magischen Methoden behandelt werden, sowie die Klasse LimbasException.db: Beinhaltet die Klassen LimbasRecord und LimbasRelation, die beide von der Klasse LimbasComponent erben, und die Klasse LimbasRecordException, die von der Klasse LimbasException erbt. Bei der Klasse Limb...

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