Rechercher une fonction PHP

SoapServer::setPersistence

(PHP 5, PHP 7)

SoapServer::setPersistenceActive le mode persistant de SoapServer

Description

public SoapServer::setPersistence ( int $mode ) : void

Cette fonction permet de changer la persistance d'un objet SoapServer entre les requêtes. Elle permet de sauvegarder les données entre les requêtes, au moyen des sessions PHP. Cette fonction n'a d'effet qu'après avoir exporté la liste des fonctions au moyen de SoapServer::setClass().

Note:

La constante de persistence SOAP_PERSISTENCE_SESSION rend uniquement les objets de la classe donnée persistants, mais non pas les données statiques. Dans ce cas, $this->bar au lieu de self::$bar.

Note:

SOAP_PERSISTENCE_SESSION serialise les données de l'objet entre les requêtes. Dans le cas des ressources, (par exemple PDO), __wakeup() et __sleep() devraient être utilisées.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

mode

Une des constantes suivantes :

SOAP_PERSISTENCE_REQUEST - Les données de SoapServer ne sont pas persistantes entre les requêtes. C'est le comportement par défaut de tout objet SoapServer après appel à setClass().

SOAP_PERSISTENCE_SESSION - Les données de SoapServer persistent entre les requêtes. Ceci est réalisé en linéarisant les données de la classe SoapServer dans $_SESSION['_bogus_session_name'], et ainsi session_start() doit être appelée avant de passer sous ce mode de persistance.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Aucune valeur n'est retournée.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple SoapServer::setPersistence()

<?php
 
class MyFirstPersistentSoapServer {
     private 
$resource// (Par exemple PDO, mysqli, etc..)
     
public $myvar1;
     public 
$myvar2;

     public function 
__construct() {
         
$this->__wakeup(); // On appelle notre wakeup pour relancer notre ressource
     
}

     public function 
__wakeup() {
         
$this->resource CodeToStartOurResourceUp();
     }

     public function 
__sleep() {
         
// On s'assure d'enlever $resource ici, ainsi nos données peuvent persister en session
         // Si on oublie, la désérialisation lors de la prochaine requête échouera et notre objet
         // SoapObject ne sera donc pas persistant entre les requêtes.
         
return array('myvar1','myvar2');
     }
 }

 try {
     
session_start();
     
$server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
     
$server->setClass('MyFirstPersistentSoapServer');
     
// setPersistence() DOIT être appelée après setClass(), car le comportement de setClass()
     // affecte SESSION_PERSISTENCE_REQUEST.
     
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
     
$server->handle();
 } catch(
SoapFault $e) {
     
error_log("SOAP ERROR: "$e->getMessage());
 }
?>

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-soapserver.setpersistence.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut