Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 07-sep-2007, 08:46   #1 (permalink)
crmm15 no se puede cailificar en este momento
 
Fecha de Ingreso: septiembre-2007
Ubicación: Caracas
Mensajes: 11
Enviar un mensaje por MSN a crmm15
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
crmm15 está desconectado   Responder Citando
Antiguo 07-sep-2007, 11:06   #2 (permalink)
Genetix está en el buen camino
 
Avatar de Genetix
 
Fecha de Ingreso: noviembre-2002
Ubicación: LP
Mensajes: 800
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!
Genetix está desconectado   Responder Citando
Antiguo 01-dic-2007, 18:17   #3 (permalink)
eugenioclrc ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2007
Mensajes: 26
Re: consulta Zend - Sesiones

Que pesadella ese zend!!! yo normalmente hacia;

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

y para mostrar la sesion;
echo $_SESSION['unaSesion'];
eugenioclrc está desconectado   Responder Citando
Antiguo 02-dic-2007, 01:41   #4 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 773
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.

zsamer está desconectado   Responder Citando
Antiguo 10-mar-2008, 15:59   #5 (permalink)
michael_san ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 2
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.
michael_san está desconectado   Responder Citando
Antiguo 19-may-2008, 12:26   #6 (permalink)
grey ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2007
Mensajes: 22
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.
grey está desconectado   Responder Citando
Antiguo 19-may-2008, 13:15   #7 (permalink)
Genetix está en el buen camino
 
Avatar de Genetix
 
Fecha de Ingreso: noviembre-2002
Ubicación: LP
Mensajes: 800
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!
Genetix está desconectado   Responder Citando
Antiguo 20-may-2008, 19:23   #8 (permalink)
rumo está en el buen camino
 
Fecha de Ingreso: agosto-2006
Mensajes: 170
Enviar un mensaje por MSN a rumo Enviar un mensaje por Yahoo  a rumo Enviar un mensaje por Skype™ a rumo
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.
rumo está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:46.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93