est il possible de stocker des classes dans un tableau associatif?
peut on boucler dessus avec un foreach?
existe t'il des limitations particulieres liées aux classes?
Version imprimable
est il possible de stocker des classes dans un tableau associatif?
peut on boucler dessus avec un foreach?
existe t'il des limitations particulieres liées aux classes?
oui tu peux, et tu peux utiliser foreach pour parcourir les références aux classes.
Les seules limitations que je connais, c'est que si tu sauve un instance dans la session, alors tu dois faire un require de ta classe avant d'extraire les données de ta session
Citation:
Envoyé par marcha
petite remarque, cela depend. Si tu fais
tu dois faire l'include avant le session_start();Code:$_SESSION['rr'] = $obj;
si tu fais
tu ne dois faire l'include qu'avant d'avoir faitCode:$_SESSION['rr'] = serialize($obj);
Code:$obj = unserialize($_SESSION['rr']);
je pense que rien ne passe avant un session_start.Citation:
tu dois faire l'include avant le session_start();
en fait en envoie pas de flux a l'ecran avant session_start
Bebel a raison, PHP a besoin de connaitre l'objet avant sa déserialisation.
Il faut savoir que le tableau $_SESSION est sérialisé / deserialisé par php (avec le gestionnaire de session par défaut)
L'idée de sérialiser et déserialiser l'objet sois-même offre plus de souplesse. On perd un chtit peu de perf, car il y a double serialisation, mais bon :-)
Comment se prendre la tete avec php...
je sais pas ou je me suis trompé donc j'ai fais un petit test et ca marche.
je n'ai plus qu'a trouver mon erreur dans le "vrai" code... j'adore les pluka ;-)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class test { var $name; function test($n ){ $this->name = $n; } function brol( ){ echo 'test - brol : '.$this->name.'<br>'; } } $c1 = new test("c1"); $c2 = new test("c2"); $tab = array(); $tab["c1"] = $c1; $tab["c2"] = $c2; $tab["c1"]->brol();