Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-09-2011 16:36:42

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

[resolut]comment récuperer une session ?>

Bonjour, je commence a testé les sessions mais je n'arrive pas à le récupérer
voici un test rapide que j'ai fait

Code:

//indexcontroller
        $session = new Zend_Session_Namespace('identity');
        Zend_Debug::dump($session);
         $session->panier="unepomme";
           echo $session->panier;

ici les test est ok je vois bien écrit "unepomme";

maintenant dans l'index.html je crée un lien pour voir le panier

Code:

<a href='<?= $this->url(array('controller' => 'index', 'action' => 'voirpanier'), null, true); ?>'>voir Panier</a>

si je clique sur voirpanier , je ne vois la session

Code:

//controller index
    public function voirpanierAction()
    {
        echo $session->panier;                
    }

comment s'y prend ton pour obtenire le panier ?

merci d'avance de vos réponse smile

Dernière modification par keokaz (12-09-2011 19:20:40)

Hors ligne

 

#2 12-09-2011 17:33:23

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [resolut]comment récuperer une session ?>

Tout est expliqué dans la doc...

Dans ta première action :

Code:

[lang=php]
$session = new Zend_Session_Namespace('identity');
$session->panier="unepomme";

Dans la seconde :

Code:

[lang=php]
$session = new Zend_Session_Namespace('identity');
$this->view->panier = $session->panier;

Hors ligne

 

#3 12-09-2011 17:50:05

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

Re: [resolut]comment récuperer une session ?>

je te remercie de ta réponse, mais alors, dans une vue on ne peux pas appeller la session directement ? il faut uniquement l'appeller dans le controlleur ?

Hors ligne

 

#4 12-09-2011 17:54:36

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [resolut]comment récuperer une session ?>

Tu peux l'appeler dans la vue exactement de la même façon, mais dans ce cas l'intérêt du modèle MVC devient inexistant...

La vue sert normalement à afficher les données préparées par l'action.

Hors ligne

 

#5 12-09-2011 18:05:03

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

Re: [resolut]comment récuperer une session ?>

j'ai donc essayer

Code:

<?php

class IndexController extends Zend_Controller_Action
{  

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
$session = new Zend_Session_Namespace('identity');
$session->panier="unepomme";
$this->view->panier=$session;
    }


}

index.phtml

Code:

<h1>test de la session</h1>
<?php echo $this->panier;?>

Code:

Catchable fatal error: Object of class Zend_Session_Namespace could not be converted to string in /var/www/helper/application/views/scripts/index/index.phtml on line 2

on est obligé de faire un toString ?

j'ai ceci avec un Zend_deubg::dump($this->panier

Code:

object(Zend_Session_Namespace)#31 (1) {
  ["_namespace":protected] => string(8) "identity"
}

object(Zend_Session_Namespace)#31 (1) {
  ["_namespace":protected] => string(8) "identity"
}

Dernière modification par keokaz (12-09-2011 18:07:05)

Hors ligne

 

#6 12-09-2011 18:10:36

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [resolut]comment récuperer une session ?>

Ici, panier c'est ton objet de session, pas la string que t'as alloué à panier... => Zend_Session_Namespace

Pourquoi le mettre en session pour le passer à la vue ?

Code:

[lang=phtml]
<h1>test de la session</h1>
<?php echo $this->panier->panier;?>

Ou plus propre...

Code:

[lang=phtml]
<?php

class IndexController extends Zend_Controller_Action
{  

    public function indexAction()
    {
         $session = new Zend_Session_Namespace('identity');
         $session->panier="unepomme";
         $this->view->panier=$session->panier;
    }
}

Code:

[lang=phtml]
<h1>test de la session</h1>
<?php echo $this->panier;?>

Maintenant je vois toujours pas l'intérêt de la manipulation...

Hors ligne

 

#7 12-09-2011 19:16:11

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

Re: [resolut]comment récuperer une session ?>

merci de ton explication j' ai saisie le truc

Dernière modification par keokaz (12-09-2011 19:20:20)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages