Hoihoi. Kort geleden ben ik begonnen met OOP en ondanks dat ik er aan het begin weinig van snapte, gaanderweg denk ik beter te begrijpen hoe OOP in elkaar steekt. Maar helaas, ik zit nu al een paar dagen vast en kom er echt niet meer uit.
Ik heb nu 3 classes. 1. core, 2. initialize en 3 userData.
In initialize wordt alles klaar gemaakt voor gebruik. Config variables uitlezen, database connectie opzetten etc. Vervolgens, aan het eind van de initialize functie maak ik een verwijzing naar de userData class:
$this->loadClasses ( "userdata" );
$this->user = new userData($this->db);
En vervolgens roep ik op deze manier de functies aan:
$this->userData[userrestrictions] = $this->user->getUserRetrictions( );
Werkt allemaal leuk en aardig, op 1 ding na: de $db( $this->db = new mySQLWrapper; ), eerder in initialize opgezet, wordt niet herkend in de gerequirde class van userData. Mijn vraag is dus: hoe krijg ik de variables etc. die ik in initialize heb gemaakt, beschikbaar in de gerequirde class. Extends (bij userData) kan niet, dat resulteert in een alsmaar ladende pagina. Ik heb dingen geprobeerd met ::, maar ook daar kom ik niet verder mee. Kortom: ik zit al een paar dagen vast. Ik hoop dat iemand me verder kan helpen.
Voor de hele code van initialize en core: http://www.jovd.com/includes/test2.txt
Ik hoop dat ik duidelijk ben. Alvast bedankt voor de moeite.
Ik heb nu 3 classes. 1. core, 2. initialize en 3 userData.
In initialize wordt alles klaar gemaakt voor gebruik. Config variables uitlezen, database connectie opzetten etc. Vervolgens, aan het eind van de initialize functie maak ik een verwijzing naar de userData class:
$this->loadClasses ( "userdata" );
$this->user = new userData($this->db);
En vervolgens roep ik op deze manier de functies aan:
$this->userData[userrestrictions] = $this->user->getUserRetrictions( );
Werkt allemaal leuk en aardig, op 1 ding na: de $db( $this->db = new mySQLWrapper; ), eerder in initialize opgezet, wordt niet herkend in de gerequirde class van userData. Mijn vraag is dus: hoe krijg ik de variables etc. die ik in initialize heb gemaakt, beschikbaar in de gerequirde class. Extends (bij userData) kan niet, dat resulteert in een alsmaar ladende pagina. Ik heb dingen geprobeerd met ::, maar ook daar kom ik niet verder mee. Kortom: ik zit al een paar dagen vast. Ik hoop dat iemand me verder kan helpen.
Voor de hele code van initialize en core: http://www.jovd.com/includes/test2.txt
Ik hoop dat ik duidelijk ben. Alvast bedankt voor de moeite.
[ Voor 6% gewijzigd door drm op 26-03-2003 14:01 ]