SoapServer::setClass

(PHP 5, PHP 7, PHP 8)

SoapServer::setClassSetzt die Klasse, welche SOAP-Anfragen verarbeitet

Beschreibung

public SoapServer::setClass(string $class, mixed ...$args): void

Exportiert alle Methoden der angegebenen Klasse.

Das Objekt kann für eine gegebene PHP-Session mit Hilfe der SoapServer::setPersistence()-Methode persistent gemacht werden.

Parameter-Liste

class

Name der zu exportierenden Klasse.

args

Die optionalen Parameter werden dem Standardkonstruktor der Klasse zur Laufzeit übergeben.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Siehe auch

add a note

User Contributed Notes 2 notes

up
4
Ariz Jacinto
16 years ago
If you want your SOAP client to be able to save and then retrieve the object properties, you need to set the SOAP server to be persistent by setting session.auto_start=0, invoking session_start(), and SoapServer->setPersistence(SOAP_PERSISTENCE_SESSION) in the following manner:

<?php
  //set ini
  ini_set("soap.wsdl_cache_enabled", 0);
  ini_set("session.auto_start", 0);

  //class file
  require_once('MyClass.php');

  //for persistent session
  session_start();

  //service
  $server = new SoapServer('service.wsdl');
  $server->setClass("MyClass");
  $server->setPersistence(SOAP_PERSISTENCE_SESSION);
  $server->handle();
?>
up
3
christiaan at oakfox dot net
16 years ago
You can also retrieve object properties the following way while using __autoload($class_name).<?php# Start Sessionsession_start();# Auto Load Class as Requiredfunction __autoload($class_name){    require_once "/var/www/example/class/". $class_name. ".php";}//service$_SESSION[_bogus_session_name] = unserialize($_SESSION[_bogus_session_name]);$server = new SoapServer('service.wsdl');$server->setClass("MyClass");$server->setPersistence(SOAP_PERSISTENCE_SESSION);$server->handle();$_SESSION[_bogus_session_name] = serialize($_SESSION[_bogus_session_name])?>
To Top