SoapServer::setPersistence

(PHP 5, PHP 7, PHP 8)

SoapServer::setPersistenceEstablece el modo de persistencia de SoapServer

Descripción

publicSoapServer::setPersistence(int$mode): void

Esta función permite cambiar el estado de persistencia de un objeto SoapServer entre peticiones. Esta función permite guardar datos entre peticiones usando sesiones de PHP. Este método solamente tiene efecto en un SoapServer después de exportar funciones utilizando SoapServer::setClass().

Nota:

La persistencia de SOAP_PERSISTENCE_SESSION solamente hace persistentes a los objetos de la clase dad, no los datos estáticos de la clase. En este caso, use $this->bar en lugar de self::$bar.

Nota:

SOAP_PERSISTENCE_SESSION serializa datos en el objeto de clase entre peticiones. Para poder adecuadamente utilizar recursos (p.ej. PDO), deberían usarse los métodos mágicos __wakeup() y __sleep().

Parámetros

mode

Una de las constantes SOAP_PERSISTENCE_XXX.

SOAP_PERSISTENCE_REQUEST - Los datos de SoapServer no persisten entre peticiones. Este es el comportamiento predeterminado de cualquier objeto SoapServer después de llamar a setClass.

SOAP_PERSISTENCE_SESSION - Los datos de SoapServer persisten entre peticiones. Esto se lleva a cabo serializando los datos de la clase SoapServer en $_SESSION['_nombre_sesión_falso'], ya que session_start() debe invocarse antes de establecer este modo de persistencia.

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de SoapServer::setPersistence()

<?php
class MyFirstPersistentSoapServer {
private
$resource; // (Tal como PDO, mysqli, etc..)
public $mivar1;
public
$mivar2;

public function
__construct() {
$this->__wakeup(); // Estamos llamando nuestro wakeup para manejar nuestro recurso
}

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

public function
__sleep() {
// Nos aseguramos de omitir $resource aquí, por lo que nuestro datos de sesión persisten

Ver también

To Top