Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jaki jest najlepszy sposób na wykonanie zapytania do SOAP API w ogólnodostępnym pluginie?
qiqqq
post 21.03.2016, 14:35:45
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 18.07.2007

Ostrzeżenie: (0%)
-----


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ź.
Go to the top of the page
+Quote Post
markonix
post 22.03.2016, 11:01:55
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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<).


--------------------
Go to the top of the page
+Quote Post
qiqqq
post 22.03.2016, 16:18:55
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 18.07.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
viking
post 22.03.2016, 17:14:19
Post #4





Grupa: Zarejestrowani
Postów: 6 377
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A po co się tak bawić i 2x ten sam kod pisać?


--------------------
Go to the top of the page
+Quote Post
qiqqq
post 22.03.2016, 19:53:23
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 18.07.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
markonix
post 23.03.2016, 15:33:28
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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

Ten post edytował markonix 23.03.2016, 15:34:26


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 13:52