Tengo un archivo smanager que utilizo para administrar objetos... el código es el siguiente:
Código PHP:
<?php
// Clases nativas del motor
include_once("clases/main.php");
include_once("clases/mysql.php");
include_once("clases/user.php");
// creamos a reanudamos la session actual
session_start();
// Recuperación de la clase del onjeto
ini_set('unserialize_callback_func', 'rClase');
function rClase($r) {
switch ($r) {
case 'Main':
include_once("clases/main.php");
break;
case 'User':
include_once("clases/user.php");
break;
case 'MySQL':
include_once("clases/mysql.php");
break;
default:
echo "#smanager.php - 'Respuesta ".$r."'.";
}
}
// Instancias y recuperación de sessiones
if (!isset($_SESSION['Me'])) {
$Me = new Me();
$_SESSION['Me'] = serialize($Me);
} else { $Me = unserialize($_SESSION['Me']); }
if (!isset($_SESSION['MySQL'])) {
$MySQL = new MySQL();
$_SESSION['MySQL'] = serialize($MySQL);
} else { $MySQL = unserialize($_SESSION['MySQL']); }
if (!isset($_SESSION['User'])) {
$User = new User($MySQL);
$_SESSION['User'] = serialize($User);
} else { $User = unserialize($_SESSION['User']); }
?>
He intentado enviar directamente el obj al constructor con la finalidad de crear una referencia a el dentro de una variable perteneciente al nuevo objeto, pero no consigo resultados.
Muestro la clase user.php
Código PHP:
class User {
//Control
public $Ready = false;
private $MySQL;
public $isOnline = false;
//User info
public $id = -1;
public $ip;
public $userid = -1;
public $tiempo;
public $provincia = -1;
public $municipio = -1;
public $mail;
public $user;
// -- Constructor
function __construct($dbObject) {
$this->MySQL = $bdObject;
$this->Ready = $this->LoadSession(); //Lanza LoadSession
}
// -- LoadSession (LoadSession) : Inicia el usuario
private function LoadSession() {
echo "MySQL: ".$This->MySQL->Ready;
return true;
}
}
La respuesta del servidor es:
Ninguna, tendría que devolver el valor bool de Ready, (0 o 1), devuelve el valor en blanco.
Estoy trabajando con PHP5.
**EDITO> Parece ser que en php5 (yo anteriormente use una version 4.x) una de sus muchas modificaciones a sido redise;ar el sistema oo, cosa que no ha venido nada mal xP, al parecer ahora los objetos se trabajan con ref., es mas, creo que a partir de php 5.3 al utilizar el operador & imprime un WARNING. He modificado el codigo eliminando dicho operador pero no consigo resultado.
Gracias de antemano.
PD> El codigo ya fue modificado en la parte principal
Gracias de ante mano, un saludo!!