Download the PHP package teknasyon/guzzle-async-pool without Composer
On this page you can find all versions of the php package teknasyon/guzzle-async-pool. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package guzzle-async-pool
Hakkında
Bu kütüphane GuzzleHttp\Pool sınıfının özellikle Soap için kullanımını kolaylaştırmayı amaçlamaktadır.
Demo
example klasöründe bulunan örnek kodları çalıştırmak için sırasıyla aşağıdaki komutları çalıştırabilirsiniz:
Kurulum
Kütüphaneyi projenizde kullanmak için composer.json dosyanıza aşağıdaki satırları ekleyin ve composer update komutunu çalıştırın:
Kullanım
Soap servisine yapılacak istekler kütüphane içerisindeki Teknasyon\GuzzleAsyncPool\SoapRequestFactory sınıfı ile oluşturulabilir. Bu sınıfın factory metodu kullanılarak istek gönderimi için gerekli olan GuzzleHttp\Psr7\Request türünde bir obje üretilir. Örnek kullanım:
Üretilen istek objeleri Teknasyon\GuzzleAsyncPool\Pool sınıfı vasıtasıyla gönderilir. Bu sınıfın onCompletedRequest metodu ile başarılı istek cevaplarını, onFailedRequest isimli metodu ile hatalı istek cevapları dinlenir.
onCompletedRequest metodu ile tanımlayacağınız fonksiyon sırasıyla şu parametreleri alır:
- $index: İstek objesinin $requests dizisindeki indis değerini belirtir.
- $request: İstek objesi.
- $response: Yanıt objesi.
onFailedRequest metodu ile tanımlayacağınız fonksiyon sırasıyla şu parametreleri alır:
- $index: İstek objesinin $requests dizisindeki indis değerini belirtir.
- $request: İstek objesi.
- $exception: Hata objesi. Hata objesi GuzzleHttp\Exception\RequestException türünde ise $exception->getResponse() üzerinden Response objesine erişebilirsiniz.
Soap istek ve yanıtlarının dönüştürülmesi
Teknasyon\GuzzleAsyncPool\SoapRequestFactory sınıfı belirtilen parametrelere göre otomatik olarak XML içeriğini hazırlar ve bu içeriği kullanarak Request objesini oluşturur. Bunun için özel bir işlem yapmanıza gerek yok. Ancak soap yanıtları için Teknasyon\GuzzleAsyncPool\Soap\Decoder sınıfını kullanmalısınız. Bu sınıf aldığınız XML cevabını PHP dizisine dönüştürmektedir. onCompletedRequest ya da onFailedRequest metodları içinde elde ettiğiniz Psr\Http\Message\ResponseInterface türündeki objeler vasıtasıyla cevabı dönüştürebilirsiniz.
Guzzle Ayarları
Teknasyon\GuzzleAsyncPool\Pool sınıfı ikinci parametresi GuzzleHttp\Pool ayarlarını, üçüncü parametresi ise GuzzleHttp\Client objesini bekler. Guzzle dökümanlarından değişiklik yapmak istediğiniz ayarları bu parametreler ile güncelleyebilirsiniz. En sık kullanılacak olan ayar concurrency ayarı. Bu ayar ile aynı anda gönderilecek istek sayısını kısıtlarsınız. Bu ayarı ikinci parametrede istenen dizide belirtmeniz gerekmekte.