Kısaca yoldan işini çözmeye çalışalım.
Rooter class ını tanımlayalım.
class SoapIslemci
{
public $SOAP; // SOAP değişkenini her yerde kullanmak için public kullandık ama bu class ın dışında kullanmak istemiyorsan private kullanabilirsin.
public $username = ''; // Birden fazla kullanıcılı işlem ise değişkeni class a ekledim
public $password = '';// Birden fazla kullanıcılı işlem ise değişkeni class a ekledim
public function __construct()
{
// Tanımladığımız SOAP değişkenine Soap Client ini çalıştırıp atamasını yaptık böylelikle 1 adet instanse oluşturmuş olduk tekrar tekar login olmamızı engelleyecek.
$this->SOAP = $client = new SoapClient("https://$degisken/soap.wsdl", array("location"=>"https://$degisken/soap/"));
try {
$this-SOAP->__soapCall('Login',array('username'=>$this->username,'password'=>$this->password));
} catch (Exception $e){
echo $e->getMessage();
exit;
}
}
public function mainProcess($arr = array())
{
}
public function __destruct()
{
$this->SOAP->__soapCall('Logout',$variables);
}
}Araya istediğin fonksiyonları yazarak işlemini yaparsın. $this->SOAP ile aktif instanse ı kullanabilirsin.
Ayrıca soapCall a neden önce stdClass ile yeni bir instanse açıp daha sonra gönderim yaparken array e zorluyorsun? direkt array gönder.
Umarım yapmak istediğin şeyde yol gösterici olur
mükemmel olduğunu söyledimmi hocam ?
peki construct içerisinde soaptan bi işlem yapıp $req diye bir değişkeni bütün fonksiyonlara vermem lazım global mi vereyim diğer fonksiyonların içinde ona ?
kusurabakmayın yükselip class ile işlem yapmak istedim elim ayağım birbirine girdi