global in object
Code (php)
Met bovenstaade code kan ik mijn $user object aanspreken in mijn module class. Kan dit niet op een andere of kortere manier? (global $user$this->user = $user;)
thanks
Gewijzigd op 21/12/2010 16:51:54 door Jaron T
Is vies.
Karl Karl op 21/12/2010 16:51:24:
Geen global gebruiken.
Is vies.
Is vies.
Oke Karl... wat moet ik dan wel gebruiken? .. of elke keer een new User() aanroepen in de constructor?
Gewijzigd op 21/12/2010 16:52:42 door Jaron T
En global gebruiken is normaal gesproken niet juist.
Je kunt ook aan de constructor gewoon parameters meegeven.
TJVB tvb op 21/12/2010 16:52:31:
Wat wil je precies doen?
En global gebruiken is normaal gesproken niet juist.
Je kunt ook aan de constructor gewoon parameters meegeven.
En global gebruiken is normaal gesproken niet juist.
Je kunt ook aan de constructor gewoon parameters meegeven.
Idd, of gewoon een setter die een getter aanroept.
TJVB tvb op 21/12/2010 16:52:31:
Wat wil je precies doen?
En global gebruiken is normaal gesproken niet juist.
Je kunt ook aan de constructor gewoon parameters meegeven.
En global gebruiken is normaal gesproken niet juist.
Je kunt ook aan de constructor gewoon parameters meegeven.
mijn user class benaderen zonder elke keer new User() te moeten gebruiken in elke class...
of gewoon in elke constructor het user object meesturen?
Code (php)
Voor elke Module een nieuw database object lijkt mij niet logisch.
(dit betekent dat ik bij ELKE class die gebruik maakt van een database het database object mee moet sturen in de constructor? en deze niet initialiseren in de constructor van de class zelf.)
Gewijzigd op 21/12/2010 17:05:54 door Jaron T
Ik benader de database via Database::getInstance()->deFunctieDieJeWiltGebruiken()
TJVB tvb op 22/12/2010 09:19:08:
Ligt eraan hoe je de database class werkt.
Ik benader de database via Database::getInstance()->deFunctieDieJeWiltGebruiken()
Ik benader de database via Database::getInstance()->deFunctieDieJeWiltGebruiken()
Dat doet denken dat je een singleton gebruikt voor je Database, en dat is eigenlijk niet juist. Hoewel het meestal zo is dat je maar verbinding maakt met een database, zijn er gevallen waarin je met meerdere databases moet werken. Dan gaat het hele idee van een singleton niet meer op. Singletons moet je vrijwel nooit gebruiken, tenzij je in alle gevallen maar een object mag hebben (bijvoorbeeld een OO-cookiejar).
Edit:
Kan natuurlijk ook zo zijn dat je je database-object zo altijd tevoorschijn haalt, maar het geen singleton is. In dat geval zou je eens moeten kijken naar een register, dat vind ik fijn werken.
Kan natuurlijk ook zo zijn dat je je database-object zo altijd tevoorschijn haalt, maar het geen singleton is. In dat geval zou je eens moeten kijken naar een register, dat vind ik fijn werken.
Gewijzigd op 22/12/2010 09:32:39 door SilverWolf NL
SilverWolf NL op 22/12/2010 09:31:10:
Dat doet denken dat je een singleton gebruikt voor je Database, en dat is eigenlijk niet juist. Hoewel het meestal zo is dat je maar verbinding maakt met een database, zijn er gevallen waarin je met meerdere databases moet werken. Dan gaat het hele idee van een singleton niet meer op. Singletons moet je vrijwel nooit gebruiken, tenzij je in alle gevallen maar een object mag hebben (bijvoorbeeld een OO-cookiejar).
Niet helemaal, dat is de versimpelde beschrijving van mijn situatie, ik geef optioneel ook nog een config naam mee (of zet die vantevoren)