Merhaba,

Arkadaşlar bir SOAP sistemim var ancak sürekli olarak login logout yapmam gerekiyor. ardı ardında bir çok işlem geliyor ve gereksiz kod yığını oluyor.

Construct ile Login yapmak istiyorum.

Main ilede bin bir türlü fonksiyon geliyor zaten içeri onları yönetmek istiyorum.

Descruct ilede Logout yapmak istiyorum.

lakin construct'dan gelen bütün sesion ve variable'lara ihtiyacım var ve her ikisindede connect soap yapmak zorundayım.

Kısacası bir soap işlemim:

$client = new SoapClient("https://$degisken/soap.wsdl", array("location"=>"https://$degisken/soap/"));

//Login Olmak için
try{
    $request = new stdClass();
    $request->_this = array ('_' => 'Process', 'type' => 'Service');
    $response = $client->__soapCall('GetService', array((array)$request));
} catch (Exception $e){
    echo $e->getMessage();
    exit;
}
$req = $response->returnval;
try
{
	$request = new stdClass();
	$request->_this = $req ->sessionManager;
	$request->userName = $user;
	$request->password = $password;
	$response = $client->__soapCall('Login', array((array)$request));
} catch (Exception $e){
	echo $e->getMessage();
	exit;
}

///Burada işlemler olacak ancak bunlarıda function ile almam lazım bazı işlemlerin fazla array'ları oluyor.
/*Main İşlemler*/

//İşlemler bitince:
//Logout
try
{
	$request = new stdClass();
	$request->_this = $req->sessionManager;
	$response = $client->__soapCall('Logout', array((array)$request));
} catch (Exception $e){
	echo $e->getMessage();
	exit;
}
bunu her işlemde tekrarlamaktansa

$islem = new SOAPislemi;
$islem->mainProcess(array("x"=>"y","bar"=>"foo"));
gibi yapmak istiyorum ama daha önce hiç yapıcı yıkıcı method yapmadım. ortadaki main fonksiyonuna ve yıkıcı fonksiyonuna nasıl yapıyı ileticem bilmiyorum. yardımcı olmak adına bir örnek yazabilirmisiniz?