Als ik bv in de index.php heb staan:


---------
require '/Controller/class_User.php'
$User = new User();
---------


En ik herlaad de index pagina, lijkt het erop dat het object iedere keer opnieuw wordt aangemaakt. Ik kan het mis hebben, maar ik kan het zo 123 niet op Google vinden.

Hoe instancieer ik een object, maar dan maar 1 keer ? Dus dat het zelfde object per bezoeker gebruitk wordt? Nu heb ik bij een page refresh dat het object dus opnieuw wordt aangemaakt, als ik dan 'echo $User->getName();' doe, is deze leeg.

Sorry voor de lastige uitleg, ik ben heel hard op weg om PHP en OOP te leren.

[size=xsmall]Toevoeging op 01/07/2014 12:29:33:[/size]

Doe ik dit met een meet if statement ? Dus checken met een if of $User al bestaat ?
Ja, als je ervan uitgaan dat één sessie bij één gebruiker hoort, is dat correct.

Het hangt verder vooral af van je sessiebeheer. Stel, je hebt een sessieduur van 10 minuten. Dan kan het gebeuren dat iemand die dicht bij het werk woont, twee sessies krijgt. Idem dito voor iemand die thuis de werkplek-met-pc verruilt voor de luie-stoel-met-tablet: dan heb je twee devices en twee sessies.
Daar ga ik nu voor het gemak wel even vanuit ja, heel eerlijk gezegt was dat nog niet bij me boven gekomen..

Maar uit je opmerking neem ik aan dat er dan dus andere manieren zijn ? Of is het een beetje "standaard" dat je ervanuit gaat dat een gebruiker maar 1 sessie zal gebruiken ?
Het hangt er in dergelijke gevallen vooral van af wat een user allemaal kan en mag.

Voor de sessiecache maakt dat verder weinig uit. Je kunt immers ook in het object dat is opgeslagen in de cache extra beveiligingen inbouwen. Of dat object dan steeds opnieuw wordt gegenereerd of uit de cache wordt hergebruikt, maakt niet uit.
Ward... drink een biertje van mij!

Helemaal top ! Dankjewel voor je hulp !

Reageren