phpbar.de logo

Mailinglisten-Archive

[php] Frage zu Klassen

[php] Frage zu Klassen

Tobias Ratschiller tobias_(at)_dnet.it
Wed, 16 Feb 2000 10:47:57 +0100


> Warum wird des öfteren eine Variable "clasename" definiert? Gehört das
> zum "guten Programmierstil"?

Die PHPLib verwendet diesen Trick, um Klassen serialisieren und damit in
einer Session persistent machen zu können. Da PHP 3.0 keine
Klassenintrospektion besitzt, ist es nötig, den Klassennamen irgendwo zu
speichern, wenn man aus einer Instanz auf die Klasse schließen will. Sonst
habe ich keine Möglichkeit, aus einer Variable $foo zu schließen, das die
Variable eine Instanz der Klasse bar darstellt.

Ebenso verhält es sich $persistent_slots. Das sind die Namen der
Instanzvariablen, die in einer Session erhalten bleiben sollen.

Mit PHP 4.0 sind diese Hacks nicht mehr nötig. Die Funktion get_class() kann
den Klassennamen einer Instanz ermitteln, get_parent_class() den Namen der
Elternklasse. Außerdem funktioniert serialize() und unserialize() in 4.0
auch mit Klassen.

Mit freundlichen Grüßen,
  Tobias Ratschiller



php::bar PHP Wiki   -   Listenarchive