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?
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
Envoyé par marcha
petite remarque, cela depend. Si tu fais
tu dois faire l'include avant le session_start();
Code : Sélectionner tout - Visualiser dans une fenêtre à part $_SESSION['rr'] = $obj;
si tu fais
tu ne dois faire l'include qu'avant d'avoir fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part $_SESSION['rr'] = serialize($obj);
Code : Sélectionner tout - Visualiser dans une fenêtre à part $obj = unserialize($_SESSION['rr']);
je pense que rien ne passe avant un session_start.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 : Sélectionner tout - Visualiser dans une fenêtre à part
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();
Partager