Mailinglisten-Archive |
Hallo
> eine Grundsatzfrage: In Scripten (zB.: phplib, Buch: "PHP Grundlagen
> und Lösungen") finde ich bei Klassen oft folgenden Konstrukt:
>
> class hallo{
> var classname = "hallo";
> ...
> }
>
> Warum wird des öfteren eine Variable "clasename" definiert? Gehört das
> zum "guten Programmierstil"?
>
> Vielleicht kann mich ja jemand "aufklären" ;-)
Die phplib macht das, um Klasseninstanzen mitsamt Slotvariablen
speichern (einfrieren/freeze) zu können. PHP kennt leider keine internen
Referenzen auf Properties oder sogar Objekthierarchien der Klasse
(außer, daß eine Klasse ein Objekt ist :). Folglich muß man einer Klasse
zum "auftauen" angeben, von welcher Oberklasse sie abstammt, um die
Instantiierung mit instance = new parent_class vornehmen zu können.
instance->classname="parent_class" dient als eine Art Krücke, um das
Fehlen dieser Information bei der Restauration zu reparieren.
Steht aber sicherlich auch in dem Buch.
mit freundlichen Grüßen,
oK.
php::bar PHP Wiki - Listenarchive