Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema con persistencia, recogida de variables de instancia.

Estas en el tema de Problema con persistencia, recogida de variables de instancia. en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, buenos dias, o ya incluso buenas tardes :) Voy al grano, el caso es, que como "seguidor" de java, intento hacer las cosas como ...
  #1 (permalink)  
Antiguo 17/08/2009, 04:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
Problema con persistencia, recogida de variables de instancia.

Hola, buenos dias, o ya incluso buenas tardes :)
Voy al grano, el caso es, que como "seguidor" de java, intento hacer las cosas como éste, mi problema viene a la hora de intentar coger el valor de una variable de un objeto instanciado, lo quiero mostrar por pantalla (solo por comprobar) y no hay manera de conseguirlo, estoy seguro de que me falta algo porque no creo que php tenga falta de persistencia.

Los codigos son:
index.php
Código php:
Ver original
  1. <?
  2.     include("conexion.php");
  3.     $session_start = session_start();
  4.     if(!isset($_SESSION['conexionBD']))
  5.     {
  6.         $conex = new conexion();
  7.         $newConnection = $conex->NewConnection('localhost','s05ad7ee_decompras','s05ad7ee_decompr','decompras');
  8.         $_SESSION['conexionBD']=$conex;
  9.         echo "Sesion nueva";
  10.     }
  11.     else
  12.     {
  13.         $conex=& $_SESSION['conexionBD'];
  14.         echo "La pagina se ha refrescado";
  15.     }
  16. ?>
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  18. <html>
  19.     <head>
  20.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  21.         <title></title>
  22.     </head>
  23.     <body>
  24.         Bienvenido
  25.         <?
  26.             $conectado = $conex->isConnected();
  27.             echo $conectado;
  28.         ?>
  29.         .
  30.     </body>
  31. </html>

conexion.php
Código php:
Ver original
  1. <?
  2. class conexion
  3. {
  4.     var $db_connection = null;
  5.     var $db_server = null;
  6.     var $db_database = null;
  7.     var $db_username = null;
  8.     var $db_password = null;
  9.     var $CONNECTED = false;
  10.     public function isConnected()
  11.     {
  12.         return $this->CONNECTED;
  13.     }
  14. }
  15. ?>

en principio se deberia mostrar false en pantalla, pero en lugar de eso no sale nada y muestra el punto final y ya.
Un saludo a todos y gracias de antemano por la ayuda :D
  #2 (permalink)  
Antiguo 17/08/2009, 06:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Problema con persistencia, recogida de variables de instancia.

Código php:
Ver original
  1. $conex = new conexion();        
  2. $newConnection = $conex->NewConnection('localhost','s05ad7ee_decompras','s05ad7ee_decompr','decompras');        $_SESSION['conexionBD']=$conex;

y donde esta el metodo NewConnection() ?
  #3 (permalink)  
Antiguo 17/08/2009, 06:48
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 4 meses
Puntos: 845
Respuesta: Problema con persistencia, recogida de variables de instancia.

es q esta haciendo bien, si haces echo de un false no sale nada en pantalla si lo haces de un true sale 1.
salu2.
  #4 (permalink)  
Antiguo 17/08/2009, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con persistencia, recogida de variables de instancia.

Prueba hacer un var_dump($conex) para que veas las propiedades del objeto.

Saludos.
  #5 (permalink)  
Antiguo 17/08/2009, 09:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con persistencia, recogida de variables de instancia.

Saludos, y gracias por las respuestas, no creí conveniente poner el newconnection, pero ahí va.
Código php:
Ver original
  1. public function newConnection($server, $database, $username, $password)
  2.     {
  3.         //global $db_connection, $db_server, $db_database, $db_username, $db_password;
  4.         $this->db_server = $server;
  5.         $this->db_database = $database;
  6.         $this->db_username = $username;
  7.         $this->db_password = $password;
  8.         try
  9.         {
  10.             $this->db_connection = mysql_connect ($server, $username, $password, true);
  11.             mysql_select_db ($database);
  12.             if (!$this->db_connection)
  13.             {
  14.                 throw new Exception('MySQL Connection Database Error: ' . mysql_error());
  15.             }
  16.             else
  17.             {
  18.                 $this->CONNECTED = true;
  19.                 return "Conexion establecida";
  20.             }
  21.         }
  22.         catch (Exception $e)
  23.         {
  24.             echo $e->getMessage();
  25.         }
  26.     }
Esto evidentemente va dentro de la clase conexion

a lo que me refería, es que como se crea bien la conexión, según el código pasa a poner un 1, pero ese uno nunca se muestra.

Edito, increible...
Ahora funciona perfectamente, hago un echo de lo que sea que si me lo muestra, os puedo jurar hsata por la cobertura del movil (osea) que durante horas no he conseguido que el echo mostrase algo.
Bueno, pues para el que le sirva, he aqui un ejemplo facil de persistencia en php!! ...
que verguenza por dios jajaja
Gracias por todo y disculpad

Última edición por angel9484; 17/08/2009 a las 09:47 Razón: Solucionado
  #6 (permalink)  
Antiguo 17/08/2009, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con persistencia, recogida de variables de instancia.

Prueba como te comento hacer un var_dump($conex) para que veas el objeto.

Por otro lado te comento, PHP es un lenguaje stateless, por lo que no puedes guardar recursos (en este caso conexiones a BDD, punteros a archivos, sockets, etc) en sesiones, estos son cerrados al final del script de forma automatica por el Garbage Collector de PHP.

Saludos.
  #7 (permalink)  
Antiguo 17/08/2009, 11:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con persistencia, recogida de variables de instancia.

Esta bien saber eso, vamos, que habria que abrir la conexión cada vez que necesitas algo.
Bueno, simplemente tendria que retocar la clase para que haga eso, ademas esta clase no es mia, solo estaba probando a meterme con POO en php.
Gracias por la info!;)
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:00.