phpbar.de logo

Mailinglisten-Archive

[php] dynamische Attribute für Klassenkonstruktor

[php] dynamische Attribute für Klassenkonstruktor

Sebastian Mendel lists at sebastianmendel.de
Die Mar 6 10:31:41 CET 2007


Sebastian Mendel schrieb:

>> [...]
>>
>> class Kunde extends OneMap
>> {
>>     protected $id;
>>     protected $first_name;
>>
>>     public function __construct($data = false)
>>     {
>>         parent::__construct($data);
>>     }
>> }
> 
> das habe ich dann allerdings anders, ich habe nicht für jede Spalte eine
> eigene Eigenschaft, sondern lege die einfach in einem Array ab
> 
> das macht aber schon die Basisklasse, die Basisklasse überprüft auch ob
> überhaupt was geändert wurde wenn gespeichert werden soll und baut das SQL
> zusammen, sie übernimmt auch die Variablenüberprüfung (z. B. aus Formularen)
> anhand der Tabellenstruktur
> 
>  - theoretisch kann ich so auch direkt meine Basisklasse auf jede unbekannte
> Tabelle anwenden -
> 
> ich brauch die Basisklasse also nur in Ausnahmefällen zu erweitern
> 
> hat den Vorteil das ich Änderungen an einem Objekt, z. B. hinzufügen einer
> Eigenschaft nicht zweimal vornehmen muss - einmal im Code und einmal in der
> DB - sondern nur einmal in der DB

hinzu kommt das man so einfacher die 'orignalen' mit den geänderten Werten
vergleichen kann (ein Array alte Daten und das Array it den geänderten Daten)

und ich komme mit eventuell zusätzlich benötigten Eigenschaften der Klase
die aber nicht in der Tabelle stehen nicht durcheinander ... (z. B.
berechnete Werte die zur Laufzeit nur einmal berechnet werden müssen also
irgendwo abgelegt werden müssen aber trotzdem nicht in der Tabelle stehen da
sie sich ja ergeben also redundant wären)



-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive