Foros del Web » Programando para Internet » PHP » Zend »

consulta Zend - Sesiones

Estas en el tema de consulta Zend - Sesiones en el foro de Zend en Foros del Web. Buenos dias. Soy realmente nuevo en Zend y tengo un problema, no muy bien como manejar la session, he probado de todo y nada. el ...
  #1 (permalink)  
Antiguo 07/09/2007, 08:46
 
Fecha de Ingreso: septiembre-2007
Ubicación: Caracas
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
consulta Zend - Sesiones

Buenos dias. Soy realmente nuevo en Zend y tengo un problema, no muy bien como manejar la session, he probado de todo y nada. el problema radica en que cuando autentico, quiero guardar el id del usuario en la session pero solo se guarda en el metodo Action donde verifico al usuario, cuando quiero verificar o necesito la session en otro Action no la tengo. Esto es lo que hago:

index.php
$session = new Zend_Session();
$registry2 = Zend_Registry::getInstance();
$registry2->set('session',$session);

IndexController.php
function autenticarAction
$session = Zend_Registry::get('session');
$session->id_persona = $id;
Zend_Registry::set('session',$session);

pero en otra Funcion o en otro Controller ya no tengo nada ahi en la session es como que la session fuese solo local a la funcion donde almacene el id. si puede alguien ayudarme explicandome o con un ejemplo lo agradesco
  #2 (permalink)  
Antiguo 07/09/2007, 11:06
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: consulta Zend

Hola
puedes trabajarlo de esta forma
Index.php
Código PHP:
$session = new Zend_Session_Namespace("my_session");
Zend_Registry::set("session"$session); 
IndexController.php
Código PHP:

function autenticarAction(){
$session Zend_Registry::get('session');
$session->id_persona $id;

otroController.php
Código PHP:
function indexAction(){
$session Zend_Registry::get('session');
echo 
$session->id_persona 

$session lo puedes poner en el constructor o en el init, como una variable de clase y de esa manera todos los actions pueden acceder.
Código PHP:
class TuController extends Zend_Controller_Action
{
    private 
$_session

     
public function init()
      {
 
$this->_session =  Zend_Registry::get('session');
     }

Saludos!
  #3 (permalink)  
Antiguo 01/12/2007, 19:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: consulta Zend - Sesiones

Que pesadella ese zend!!! yo normalmente hacia;

$_SESSION['unaSesion']='mivalor';

y para mostrar la sesion;
echo $_SESSION['unaSesion'];
  #4 (permalink)  
Antiguo 02/12/2007, 02:41
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Re: consulta Zend - Sesiones

Cita:
Iniciado por eugenioclrc Ver Mensaje
Que pesadella ese zend!!! yo normalmente hacia;

$_SESSION['unaSesion']='mivalor';

y para mostrar la sesion;
echo $_SESSION['unaSesion'];
¿¿¿Que pesadilla ese zend???

Para ti será una pesadilla, para aquellos que son capaces de ir más allá, es todo al contrario, todo un arte, simplicidad, potencialidad y agrado.

  #5 (permalink)  
Antiguo 10/03/2008, 15:59
 
Fecha de Ingreso: enero-2008
Mensajes: 2
Antigüedad: 16 años, 3 meses
Puntos: 0
De acuerdo Re: consulta Zend - Sesiones

Como están amigos del foro,

Gracias por la solución, me ayudo bastante.

Espero pronto poder colaborar con uds.
  #6 (permalink)  
Antiguo 19/05/2008, 12:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: consulta Zend - Sesiones

Yo tambien estoy haciendo armas en ZF y quisiera saber si hay alguna forma de extender la sesion sin utilizar Zend_Registry.

O sea solo con Zend_Session.

Abrazo.
  #7 (permalink)  
Antiguo 19/05/2008, 13:15
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: consulta Zend - Sesiones

Claro que se puede
uno de las formas es:

Declaración
Código PHP:
$test = new Zend_Session_Namespace('test');
$test->mivalor "prueba de sesssion"
Recuperando desde cualquier lugar
Código PHP:
$recuperando = new Zend_Session_Namespace('test');
echo 
$recuperando->mivalor// imprime prueba de sesssion 
mas info http://framework.zend.com/manual/en/...ced_usage.html

Saludos!
  #8 (permalink)  
Antiguo 20/05/2008, 19:23
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: consulta Zend - Sesiones

Creo que deberian hacer la diferencia entre Zend_Session y Zend_Registry, he leido en varias partes donde confunden estos dos componentes.

Zend_Registry esta bien para almacenar datos durante la ejecucion de la aplicación, sin embargo el registro no hace uso de sesiones, por lo tanto es obvio que si almacenan un dato en el registro, no van a poder persistir el valor en la proxima llamada o "request" a menos de que lo vuelvan a definir.

si quieren persistir los datos pueden utilizar Zend_Session, ya que este componente hace uso de $_SESSION, sin embargo, le saca ventajas a esta propiedad, asegurando la ejecucion y evitando problemas tipicos en el uso de $_SESSION (a la antigua), y en su defecto utilizar una base de datos.

Finalmente y volviendo al post original, creo que quizas deberias darle una vuelta a Zend_Auth para lo que quieres hacer, este componente cuenta con varios adaptadores que te pueden ayudar y hace uso de Zend_Session para almacenar los datos.

recuerda Zend_Session != Zend_Registry.
  #9 (permalink)  
Antiguo 30/05/2016, 06:41
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 16 años
Puntos: 0
Respuesta: consulta Zend - Sesiones

Estoy usando Zend_Auth para tratar de persistir al usuario como logueado pero si accedo a la misma url desde diferente frontal me pide que me vuelva a loguear, es como si no guardara en el navegador los datos.

No entiendo como hacerlos persistentes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:35.