関数・クラス解説
SoapServer::setPersistence
version:PHP 5, PHP 7 (公式)SoapServer の持続モードを設定する
公式リファレンス
書式
public SoapServer::setPersistence ( int $mode ) : void
説明
この関数により、SoapServer オブジェクトの永続状態をリクエスト間で変更できるようになります。 この関数は、リクエスト間でのデータの保存に PHP のセッションを使います。 このメソッドが SoapServer に影響を及ぼすのは、SoapServer::setClass() を使って関数をエクスポートした後となります。
注意:
持続モード SOAP_PERSISTENCE_SESSION は、そのクラスのオブジェクトについてのみ持続させます。 クラスのスタティックなデータについては対象となりません。 self::$bar ではなく $this->bar を使用しましょう。
注意:
SOAP_PERSISTENCE_SESSION は、クラスのオブジェクト上のデータもリクエスト間でシリアライズします。 リソース (PDO など) を適切に扱うには、マジックメソッド __wakeup() および __sleep() を使う必要があります。
パラメータ
- mode
- SOAP_PERSISTENCE_XXX 定数のうちの一つ SOAP_PERSISTENCE_REQUEST - SoapServer のデータはリクエスト間で持続しません。 これは、SoapServer オブジェクトで setClass をコールした直後のデフォルトの挙動です。 SOAP_PERSISTENCE_SESSION - SoapServer のデータをリクエスト間で持続させます。 これを実現するために、SoapServer クラスのデータをシリアライズして $_SESSION['_bogus_session_name'] に格納します。 そのため、このモードを設定する前に session_start() をコールしておく必要があります。
返値
値を返しません。
サンプル
例1 SoapServer::setPersistence() の例
class MyFirstPersistentSoapServer {
private $resource; // (Such as PDO, mysqli, etc..)
public $myvar1;
public $myvar2;
public function __construct() {
$this->__wakeup(); // We're calling our wakeup to handle starting our resource
}
public function __wakeup() {
$this->resource = CodeToStartOurResourceUp();
}
public function __sleep() {
// We make sure to leave out $resource here, so our session data remains persistent
// Failure to do so will result in the failure during the unserialization of data
// on the next request; thus, our SoapObject would not be persistent across requests.
return array('myvar1','myvar2');
}
}
try {
session_start();
$server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
$server->setClass('MyFirstPersistentSoapServer');
// setPersistence MUST be called after setClass, because setClass's
// behavior sets SESSION_PERSISTENCE_REQUEST upon enacting the method.
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
$server->handle();
} catch(SoapFault $e) {
error_log("SOAP ERROR: ". $e->getMessage());
}
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール