Mailinglisten-Archive |
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