qiqqq
21.03.2016, 14:35:45
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
22.03.2016, 11:01:55
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
22.03.2016, 16:18:55
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
22.03.2016, 17:14:19
A po co się tak bawić i 2x ten sam kod pisać?
qiqqq
22.03.2016, 19:53:23
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
23.03.2016, 15:33:28
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.