Mam skrypt PHP, który jest wywoływany na 2 sposoby z połączenia xhrGet do Ajaksu Dojo. Po raz pierwszy jest wywoływany z argumentem "init", który powoduje, że skrypt tworzy instancję klasy StateList i czyta w pliku nazw stanów.Dlaczego nie mogę przechowywać instancji klasy PHP jako zmiennej SESJI
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;
}
drugi i kolejne razy, kolejne wezwanie xhrGet przechodzi „getstate” argument i następujący kod próbuje uzyskać instancję ofr klasy StateList z tablicy sesji.
if($comd =="getstate") {
$st= $_SESSION['statefile'];
phplog("size=".$st->getSize());
}
Jednak metoda getSize() nigdy nie jest wykonywana, ani mogę zadzwonić jakakolwiek inna metoda na odtworzonego instancji klasy StateList.
Należy zauważyć, że jest to jeden skrypt PHP, który zawiera definicję klasy u góry , a zatem metody klasy powinny być znane i dostępne.
Czego mi tu brakuje?
Postaraj się unikać @; po prostu napisz swój kod poprawnie, aby nie było żadnych błędów do zniesienia. –