Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaki jest najlepszy sposób na wykonanie zapytania do SOAP API w ogólnodostępnym pluginie?
Forum PHP.pl > Forum > PHP
qiqqq
Piszę plugin do WordPressa, w którym chciałbym wykonać kilka zapytań do SOAP API. Chcę uniknąć sytuacji, w której po aktywowaniu plugin użytkownikowi zostanie wyświetlony błąd, że obsługa SOAP lub Curl na serwerze jest wyłączona (nie wiem jak często trafiają się serwery z wyłączonymi tymi bibliotekami).

W jaki sposób najlepiej wykonać zapytanie do SOAP API, aby plugin bezproblemowo działał na większości serwerów?

Z góry dziękuję za odpowiedź.
markonix
Jakby to było zwykłe restowe API to by starczyło file_get_contents i json_decode.
Nie pamiętam jak tam działa SOAP ale w WP nie ma czegoś takiego jak sprawdzanie wymogów serwera przy instalacji?
Wyłączony curl to rzadkość.
Możesz też po prostu zainstalować z wtyczką klienta SOAP
https://github.com/phpforce/soap-client/blo...r/composer.json (wymaga tylko PHP 5.3<).
qiqqq
Dzięki za odpowiedź.

Nie kojarzę aby w WP było coś takiego jak sprawdzanie wymogów serwera podczas instalacji (nawet jeśli jest to dotyczy to instalacji wp a nie aktywacji pluginu).
Inna sprawa, że mógłbym dodać takie sprawdzanie podczas aktywacji pluginu, ale chodzi mi o to żeby tego uniknąć, żeby użytkownicy który nie mają dostępu do ustawień PHP również mogli korzystać z pluginu.

Zrobię tak, jak mówisz. Najpierw sprawdzę czy SOAP jest włączony i jeśli tak, wykorzystam klasę SoapClient. W innym przypadku skorzystam z jakiegoś zewnętrznego rozwiązania (myślałem o nusoap). Tak chyba będzie ok.
viking
A po co się tak bawić i 2x ten sam kod pisać?
qiqqq
Ponieważ jeśli:

1) Skorzystam tylko z natywnej klasy SoapClient, wówczas mogą wystąpić sytuacje, że użytkownik nie będzie miał włączonej obsługi SOAP na serwerze i pluginu nie będzie można uruchomić.

2) Skorzystam tylko z zewnętrznego rozwiązania, to będzie to jakby "gorsze" rozwiązanie. Słyszałem, że natywne klasy są szybsze i bardziej bezpieczne (co w sumie ma sens).

Czy dobrze Cię rozumiem i radzisz skorzystać tylko z zewnętrznego rozwiązania?
markonix
Na pewno jest jakiś hook w WP typu "install" gdzie możesz po prostu sprawdzić dostępność rozszerzeń i wyświetlić odpowiedni błąd.

http://stackoverflow.com/questions/2693834...e-its-activated
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.