Я играю с SOAP и PHP. Но я не могу понять, почему возвращаемый объект, кажется, не сохраняет экземпляр. Позвольте мне сначала показать пример кода, а затем я объясню:
client.php:
$client = new SoapClient("http://myhost/remote.wsdl");
try {
if($client->login("root","toor")) {
echo $client->getTotal()."\n";
}
} catch (SoapFault $exception) {
echo $exception;
}
server.php:
class Remote {
private $auth = false;
public function login($user, $pass) {
if($user == "root" && $pass == "toor") {
$this->auth = true;
return true;
} else throw new SoapFault("Server","Access Denied to '$user'.");
}
public function getTotal() {
if($this->auth) {
return rand(1000,9999);
} else throw new SoapFault("Server","Error: Not Authorized.");
}
}
$server = new SoapServer("remote.wsdl");
$server->setClass("Remote");
$server->handle();
Я могу "войти", поэтому возвращаемое значение из $ client-> login равно true .
Но когда я вызываю $ client-> getTotal , $ this-> auth равен false (и, таким образом, возникает ошибка).
Что мне нужно сделать, чтобы сохранить значение, которое я установил ранее?
Заранее спасибо ...