SoapServer::setClass

(PHP 5, PHP 7, PHP 8)

SoapServer::setClassDefine a classe que trata as solicitações SOAP

Descrição

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

Exporta todos os métodos da classe especificada.

O objeto pode se tornar persistente durante a solicitação para uma determinada sessão PHP com o método SoapServer::setPersistence().

Parâmetros

class

O nome da classe exportada.

args

Esses parâmetros opcionais serão passados para o construtor de classe padrão durante a criação do objeto.

Valor Retornado

Nenhum valor é retornado.

Veja Também

add a note

User Contributed Notes 3 notes

up
4
Ariz Jacinto
15 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
4
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])

?>
up
-50
funky2step at gmail dot com
12 years ago
When passing arguments to the default class constructor, make sure that you don't try and use the magic __construct method because that won't work.

<?php

class MyClass
{
function
MyClass($arg1, $arg2)
{

}
}

// Not:

class MyClass
{
function
__construct($arg1, $arg2)
{

}
}

?>
To Top