Tengo un script PHP que se llama de 2 maneras desde una llamada Dojo Ajax xhrGet. La primera vez se invoca con un argumento "init" que hace que el script cree una instancia de la clase StateList y lea en un archivo de nombres de estado.¿Por qué no puedo almacenar una instancia de clase PHP como variable de SESSION?
session_start();
@include('StateList.php');
require_once('phplog.php');
//start executing here
$comd=$_GET['nexturl'];
if($comd=="init") {
$st = new StateList("../data/statestxt.txt");
$_SESSION['statefile'] = $st;
}
La segunda y más veces, otra llamada xhrGet pasa un argumento "getState" y el código siguiente trata de obtener la instancia ofr la clase StateList de la matriz de sesión.
if($comd =="getstate") {
$st= $_SESSION['statefile'];
phplog("size=".$st->getSize());
}
Sin embargo, el método getSize() nunca se ejecuta, ni puedo llamar a cualquier otro método en la instancia de la clase StateList reconstituido.
Tenga en cuenta que este es un script PHP que INCLUYE la definición de clase en la parte superior y por lo tanto, los métodos de clase deben conocerse y estar disponibles.
¿Qué me falta aquí?
Trate de evitar el uso de @; simplemente escriba su código correctamente para que no haya ningún error que suprimir. –