phpbar.de logo

Mailinglisten-Archive

[php] Dynamische Klassennamen

[php] Dynamische Klassennamen

Sorin Marti mas at semafor.ch
Die Mar 8 11:31:41 CET 2005


Ciao Sebastian,

>
> mhm???
>
> Würde mich mal interessieren, wozu man sowas braucht?
>
> was verstehst du unter 'PersitenceLayer' (PersistenceLayer?) und was 
> soll der machen?
>
>

In der Objektorientierten Programmierung gibt es das Prinzip der 
Schichtenarchitektur. Oft werden 3 oder 5 Schichten kreiert. Diese 
Schichten arbeiten unabhängig voneinander und sind auswechselbar. Die 
Trennung ist bei 3 Schichten oft das GUI (UserInterface), die 
Programmlogik und die Datenzugriffsschicht, also eine Persistenzschicht.
Persistente Objekte sind Objekte, die nach "Gebrauch" erhalten bleiben 
sollen, zum Beispiel Userinformationen. Das heisst, das das User-Objekt 
in einer Datenbank (oder wo auch immer) gespeichert werden soll. Nun 
muss eine Art mapping geschehen, das das Objekt so "ummodelt", dass es 
in die Datenbank geschrieben werden kann. Man spricht bei diesem Prozess 
von "Object relational mapping" (ORM).
Nun sind die Mechanismen, die save-, update-, delete-, und 
retrieve-Funktionalität bereitstellen, für jedes Objekt im Prinzip 
gleich. Damit also nicht jedesmal eine Persistenz-Klasse geschrieben 
werden muss, kann sie generiert werden.
Es gibt (vor allem für Java, vereinzelt für C++) diverse Tools, die das 
generieren für Dich übernehmen. Beispiele sind zum Beispiel Hibernate 
[1] und Torque [2].
Die Persistenz-Problematik ist in der OO-Welt ein grosses Thema, google 
bringt zu ORM viele interessante Resultate. Da in PHP mit der Version 5 
auch OOP möglich ist, werden diese Mechanismen auch in PHP über kurz 
oder lang eine Rolle spielen.

[1] http://www.hibernate.org
[2] http://db.apache.org/torque

Grüsse
  Sorin

php::bar PHP Wiki   -   Listenarchive