Is het mogelijk om een class object te hergebruiken in een volgende pagina ?
In 3de stap maak je via een "class" een "object" aan.
Kan je deze objecten in een volgende stap (bv stap 6) hergebruiken ? Dus m.a.w. laten onthouden in het geheugen ?
Je kunt het onthouden door het op te slaan in een sessie.
Ik zal het eens testen... :-)
Toevoeging op 14/06/2013 10:14:09:
Heb net geprobeerd, maar loopt ergens mis. Hoe moet ik het object in de sessie steken ?
Ik heb geprobeerd met
$_SESSION['prijsObj'] = $prijs;
Maar $prijs is natuurlijk ook een soort van array want er zit bv een $prijs['Vullen'] in enzovoort...
Hoe krijg ik deze "objecten" dan in de sessie ?
je kan ook natuurlijk cookies gebruiken ??
Daar ben ik niet zo'n voorstander van.
serialize en unserialize gebruiken. Daarmee zou het wel moeten lukken.
Als je zelf controle erover wilt hebben, kan je de functies __sleep en __wakeup toevoegen aan de class toevoegen.
Je moet Als je zelf controle erover wilt hebben, kan je de functies __sleep en __wakeup toevoegen aan de class toevoegen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class User {
public $name;
public $password;
}
session_start()
// voor opslaan
$user = new User();
$user->name = "Test";
$user->password = "welkom";
$_SESSION['user'] = serialize($user);
// bij volgende request
$user = unserialize($_SESSION['user']);
echo $user->name;
class User {
public $name;
public $password;
}
session_start()
// voor opslaan
$user = new User();
$user->name = "Test";
$user->password = "welkom";
$_SESSION['user'] = serialize($user);
// bij volgende request
$user = unserialize($_SESSION['user']);
echo $user->name;
Zoals Koen zegt (alhoewel ik niet met public properties zou werken, maar dat is weer een ander verhaal...)
Ozzie PHP op 14/06/2013 15:22:48:
Zoals Koen zegt (alhoewel ik niet met public properties zou werken, maar dat is weer een ander verhaal...)
Ik werk normaal ook niet met public properties, maar ik typte dit even vanuit de losse hand en dan zou ik ook weer getters en setters moeten gaan schrijven, daar had ik even geen zin. Als ik gewoon in mijn eigen editor zou hebben geschreven, had ik wel private/protected properties toegevoegd met getters en setters, daar is het namelijk binnen 10 seconden gebeurd.
@Koen: okeej ;-)
Is dit trouwens best practice om in het begin van een tool alles in objecten te steken en dan doorheen alle pagina's te gebruiken op deze manier ?
Toevoeging op 14/06/2013 21:39:01:
Koen, over welke editor spreek je hier eigenlijk ?
PHP snippets, specifiek php-getset. Dat voer ik in en dan hoef ik alleen nog maar de variabele in te voeren, makkelijker kan (bijna) niet!
Ik gebruik een trial van Sublime Text 2 met