SoapServer::setClass
(PHP 5, PHP 7, PHP 8)
SoapServer::setClass — SOAP リクエストを処理するクラスを設定する
説明
指定されたクラスから全てのメソッドをエクスポートします。
このオブジェクトは SoapServer::setPersistence() メソッドにより指定した PHP セッションに関するリクエストをまたがる 持続性を持たせることができます
パラメータ
class
-
エクスポートするクラス名
args
-
これらのオプションパラメータは、 オブジェクト作成時にデフォルトのクラスコンストラクタに渡されます。
戻り値
値を返しません。
参考
- SoapServer::__construct() - SoapServer コンストラクタ
- SoapServer::addFunction() - SOAP リクエストによって処理される単一もしくはいくつかの関数を追加する
- SoapServer::setPersistence() - SoapServer の持続モードを設定する
+add a note
User Contributed Notes 2 notes
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();
?>
christiaan at oakfox dot net ¶
15 years ago
You can also retrieve object properties the following way while using __autoload($class_name).
<?php
# Start Session
session_start();
# Auto Load Class as Required
function __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])
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google