phpbar.de logo

Mailinglisten-Archive

[php] Wieder mal Sessions ...

[php] Wieder mal Sessions ...

Tobias Gutzmann php_(at)_phpcenter.de
Wed, 18 Jul 2001 21:45:14 +0200


Hi!

> Was ist der Unterschied zwischen den folgenden Möglichkeiten, eine
> Variable zu setzen? Ersterer wird von einem Tutorial empfohlen, ich
sehe
> da keinen großen Unterschied zum zweiten:
>
> class objekt {
>     var $variable;
>     function setVar($var) {
>         $this->variable = $var;
>     }
> }
>
> Variante 1:
> $myObj = new objekt;
> $myObj->setVar("testvariable");
>
> Variante 2:
> $myObj = new objekt;
> $myObj->variable = "testvariable";

Bei No.1 hat sich der Autor vorbildlich an die Methoden der
Objektorientierung gehalten, afaik ist das ein perfektes Beispiel für
Kapselung (!?).
No. 2 funktioniert genauso mit wahrscheinlich ein ganz bischen weniger
Rechenzeit, ist aber nicht so sauber geschrieben.

> Und wie läuft das bei Sessions mit dem Registrieren von Variablen in
der
> Session?
> Muss ich die Variablen erst mit 'session_register("variable")'
> vorbereiten und kann sie dann füllen, oder muss ich erst eine Variable
> setzen und dann mit 'session_register("variable")' in die Session
> integrieren?

Das kannst du halten wie die Dachdecker, es geht beides.

> Kann ich auch Variablen innerhalb eines Objektes in die Session
> integrieren, wenn ja, wie? Normalerweise wird ja nur der Variablenname
> ohne das "$" an session_register übergeben, wie ist das bei
> session_register() mit z.B: $this->variable innerhalb eines Objektes?

Uhmmm... Naja, die Objektdaten kannst du komplett übernehmen, also die
komplette Instanz des Klasse angeben. Ob das allerdings direkt mit
"this" funktioniert bezweifele ich, versuch den globalen Namen der
Instanz. PHP kann auch Arrays und Objekte speichern, indem die Daten mit
serialize() präpariert werden.

Ciao

Tobias



php::bar PHP Wiki   -   Listenarchive