Mailinglisten-Archive |
Hallo Christian, you wrote: > hallo, > nachdem ich jetzt einiges über objecte und klassen in erfahrung gebracht > habe, habe ich natürlich auch gleich nach möglichkeiten gesucht, diese für > mich nutzbarn zu machen. > folgendes habe ich vor: > ich habe zwei klassen: 'class user{...}' und 'class member extends > user{...}'. > ich möchte, daß jedem besucher meiner seite ein object zugewiesen wird, > welches seine aktuellen daten beinhaltet (ip-address, browsertyp, etc). > dieses object soll vom typ 'user' sein und eine function 'anmelden()' > beinhalten. > wenn diese funktion erfolgreich durchgeführt wurde und der user somit > angemeldet ist, soll das object des besuchers natürlich vom typ 'member' > sein. was spricht dagegen, den status eines besuchers (angemeldet/nichtangemeldet) als eine eigenschaft des objects user zu behandeln? class USER { .. var $angemeldet; // boolsche variable .. } die methoden für angemeldete user abhängig vom wert $this->angemeldet ausführen? dan bräuchtest du keine zweite klasse.... > mein erster versuch war, das object als 'user zu behalten und die class > 'member' einfach zu includen und deren funktionen zu nutzen. das ist > natürlich blödsinn, da 'member' zwar die funktionen von 'user' nicht jedoch > umgekehrt zur verfügung stehen. soviel scheine ich verstanden zu haben. ;-) ja so isses. aber wie machst du das mit dem extends? hast du 2 physisch getrennte dateien? oder eine datei in der die class USER drin ist und anschleißend class MEMBER extends USER? wenn du eine datei machst mußt du nur die eine includen. wenn dus auf 2 verteilst mußt du bei deiner member klasse require nome_deiner_userklasse includen. > ich müßte also das bestehende object vom typ 'user' (welches komplett in > einer session gespeichert wird) zu einem vom typ 'member' wandeln, richtig? > aber wie mache ich das? hmmm...?? bin nicht so der "held" bei oop. schau mal bei phpbuilder.com da gibt es was zu sessions und objekten. > ist es tatsächölich so, daß ich mit den variablen vom object 'user' ein > neues object vom typ 'member' erzeugen muss und danach das erste objekt > zerstöre? > stimmt das so, oder geht das eleganter? hmmm...? nach meinen bescheidenen kenntnissen ja (namensräume etc...) was meinst du mit zerstören? speicherst du etwas mit serialize? > ich hoffe, das war einigermaßen verständlich, aber wahrscheinlich habe ich > noch einige knoten im denken... ;-) > gruß > christian hth grüße <der_nicht_so_viel_oop-wissende> friedhelm
php::bar PHP Wiki - Listenarchive