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

duda con el uso de sesion

Estas en el tema de duda con el uso de sesion en el foro de Symfony en Foros del Web. Hola de nuevo, necesito ayuda con lo que es el uso de sesiones en symfony. El error que me devuelve symfony es: Failed to start ...
  #1 (permalink)  
Antiguo 10/07/2013, 20:37
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 3 meses
Puntos: 2
duda con el uso de sesion

Hola de nuevo, necesito ayuda con lo que es el uso de sesiones en symfony.

El error que me devuelve symfony es: Failed to start the session: already started by PHP. Obviamente es por que intente iniciar una sesion cuando ya habia una iniciada, pero mi duda es que yo antes de iniciar una session uso el metodo isStarted() para saber si la sesion ya fue iniciada, cuando intento probar el codigo el error sigue persistiendo. Es por eso que me preguntaba si estaba usando bien la clases session.

aca hice un ejemplo de mi error:

Código PHP:
<?php
    namespace SergioAcmeBundleController
;
    use 
SymfonyBundleFrameworkBundleControllerController;
    use 
SymfonyComponentHttpFoundationSessionSession;
    
    
    class 
AsdController extends controller
    
{
        public function 
testAction(){
            
            
$sesion = new Session();
            if(
$sesion->isStarted()){
                
$sesion->set('test','testeado2');
            }else {
                
$sesion->start();
                
$sesion->set('test','testado1');
            }
            
$this->random();
            return 
$this->render('SergioAcmeBundle:Default:index.html.twig',   array('token' => 'asd'));
            
        }
        
        public function 
random()
        {
            
$sesion = new Session();
            if(
$sesion->isStarted()){
                
$sesion->set('test2','testeado2');
            }else {
                
$sesion->start();
                
$sesion->set('test2','testado1');
            }
            
        }
    }
?>
  #2 (permalink)  
Antiguo 10/07/2013, 21:02
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: duda con el uso de sesion

Es que estas creando dos objetos diferentes, si usas el request y obtienes la session que esta en el request sustituyendo
Código PHP:
Ver original
  1. //esto
  2. $sesion = new Session();
  3. //por
  4. $sesion = $this->getRequest()->getSession();

creo que te debe funcionar, prueba y nos comentas
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 04/08/2013, 09:16
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 4 meses
Puntos: 32
Respuesta: duda con el uso de sesion

Buenas,

A mí me pasaba lo mismo con el tema del captcha. Tengo también dos Actions que uno genera el captcha y lo guarda en sessión y el otro comprueba envía el formulario comprobando el captcha que hay en la sesión con lo pasado en el formulario. Hacía lo mismo que molinasergio91 y me decía lo mismo. Pero he probado la solución que propone carlos_belisario y funciona pero no la entiendo.

El tema de las sesiones no lo entiendo muy bien en la documentación oficial. Por qué dices que creas dos sesiones? Se crean bajo el contexto del Action?

Si pudieras explicarlo un poquito te lo agradecería.

Muchas gracias.
  #4 (permalink)  
Antiguo 04/08/2013, 10:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: duda con el uso de sesion

Si no recuerdo mal es(era) un bug de Symfony, ocurre porque al crear el objeto no comprueba si se ha invocado previamente session_start, de todas formas es algo que se ha solucionado en Sf 2.3+, que versión de Sf estas utilizando ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 04/08/2013, 12:04
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 4 meses
Puntos: 32
Pues mira, la 2.2. Como hago para actualizar a una superior? Cambiando la versión en composer.json?
  #6 (permalink)  
Antiguo 04/08/2013, 12:25
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: duda con el uso de sesion

Efectivamente modificando el composer.json pero ten en cuenta que esto afecta el resto de dependencias, a no ser que por alguna razón especifica necesites instanciar Session no es necesario el update, basta con utilizar el objeto que crea Symfony tal cual indica @carlos

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: php, poo, symfony2
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 03:20.