Merci de votre aide :mouarf:
Version imprimable
Merci de votre aide :mouarf:
Yep
Je suis débutant en Zend ..
J'ai suivi ce post car je me posais la même question que MaitrePylos.
Mais comment utilisez vous cette classe dans votre application mvc ?
Merci
Bonjour, j'utilise essentiellement celle-ci
Suivant la convention de nommage de ZF ,j'enregistre cette classe dans un fichier 'Session.php', se trouvant dan le répertoire 'My'.Code:
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 /** *Class My_Session *@author Ernaelsten Gérard */ class My_Session { protected static $_nameSpace = 'default'; public static function setData ($name, $data, $nameSpace = null) { if (isset($nameSpace)) { $this->_nameSpace = $nameSpace; self::$_nameSpace; } $session = new Zend_Session_Namespace(self::$_nameSpace); $session->$name = $data; } public static function getData ($name, $nameSpace = null) { if (isset($nameSpace)) { self::$_nameSpace = $nameSpace; } $session = new Zend_Session_Namespace(self::$_nameSpace); return $session->$name; } } ?>
Le plus simple étant de le mettre dans le répertoire library à coté de 'Zend', ou alors n'oublie pas de modifier le path.
On fois cela fait, il suffit d'appeler les méthodes de façon statique.
pour initialiser une session
pour récupérer les données.Code:
1
2 My_Session::setData('unNomDeSession','laValeur');
Voila.Code:
1
2 My_Session::getData('unNomDeSession');
Ok merci ca marche nickel !
Mais comment tester si une variable session existe ?
Bêtement avec isset ?
if(isset(unNomDeSession)){}
?
thx
Alors dans ce cas tu risque de te retrouver avec
alors dans ce cas j'utilise la deuxième classeCitation:
Can't use function return value in write context
et voici un exemple concret que j'utiliseCode:
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 <?php class My_Classe_Session { private $_session; private $_nameSpace = 'default'; function __construct ($nameSpace = null) { if (isset($nameSpace)) { $this->_nameSpace = $nameSpace; } $this->_session = new Zend_Session_Namespace($this->_nameSpace); } public function get_session ($name) { return $this->_session->$name; } public function set_session ($data,$name) { $this->_session->$name = $data; } } ?>
Code:
1
2
3
4
5
6 $session = new Zend_Session_Namespace('default'); if (! isset($session->lan)) { $session->lan = Translation::FRENCH; }
Quel version de php utilisez-vous?
J'ai eu beaucoup de problèmes de session avec la 5.2.0 qui ont disparu avec la 5.2.4...
5.2.6-5