slt
je m'arrache les cheveux avec l'utilisation d'objet dans une session et smarty.
je cherche a utiliser un objet sur plusieurs pages,
mon code fonctionne la première fois mais quand je clic de nouveau sur mon menu il me retourne
j'ai lu la doc sur les session et les objets, j'ai compris que l'objet devait etre déclaré avant le départ de la session, mais rien a faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 __PHP_Incomplete_Class
j'utilise smarty est ce que cela pourrait être la cause de mes ennuis ??
voici le code
ma classe InteractifMenu
mon autoload
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <?php class InteractifMenu { private static $instance = NULL; private $menu; private $id; private $index; function __construct() { $this->index=0; $this->menu=array(); } public static function getInstance() { if (!self::$instance) { self::$instance = new InteractifMenu(); } return self::$instance; } public function test($id,$menu) { $this->menu[$id]=$menu.$this->index++; echo $this->index."</br>"; } public function __get($id) { return $this->menu[$id]; } } ?>
ma function smarty qui utilise ma classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php function __autoload($class_name) { require_once $class_name.'.php'; } ?>
donc la première fois que j'appel le script ca marche, car la var de session n'as pas encore était crées, mais la deuxieme fois lorsque la variable existe dejà j'ai ce fameux message. je rame de puis deux jours ......
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php include_once 'autoload.php'; function smarty_insert_interactiveMenu4($params,&$smarty) { session_start(); if(!isset($_SESSION['menu'])) { echo "session menu n'existe aps "; $_SESSION['menu']=InteractifMenu::getInstance(); $menu=$_SESSION['menu']; var_dump($menu); }else { echo "sesion menu existe "; $menu=$_SESSION['menu']; //$menu->test($smarty->oPageCurrent->getName(),"toto"); var_dump($menu); } } ?>
si qq1 a une idée .....
merci A+
Partager