✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Strukturyzacja funkcjonalności API

28

Nie mam dużego doświadczenia jeśli chodzi o tworzenie API. Wykonałem sporo pracy, jeśli chodzi o integrację WordPressa z zewnętrznymi API, ale poświęciłem bardzo mało czasu na stworzenie systemu, który ma swoje API, z którym inne systemy mogą wchodzić w interakcje.

Jeśli chodzi o to drugie, to właściwie jestem w trakcie robienia tego (i dużo się uczę). Istotą projektu jest aplikacja na iOS, która wchodzi w dwukierunkową interakcję z WordPressem za pośrednictwem interfejsu API REST .

Strukturyzacja funkcjonalności API

Chętnie podzielę się tym więcej, ale muszę to zrobić, gdy projekt będzie dalej rozwijany.

Ale jeśli chodzi o pracę z zewnętrznymi interfejsami API, a następnie budowanie komponentów projektu WordPress, które z nimi współdziałają, dwie rzeczy, które konsekwentnie uważam za przydatne, to:

A ostatnie dwa punkty powyżej są tym, co chcę omówić w tym poście.

Strukturyzacja funkcjonalności API

W tym poście nie jest zawarty żaden kod, ale być może będzie to wskazówka, w jaki sposób możesz iść naprzód w swojej pracy z tworzeniem funkcji API strukturyzacji lub robieniem czegoś podobnego we własnym.

Biblioteki zewnętrzne

Wspominam o tym tylko dlatego, że uważam, że warto ponownie wykorzystać wypróbowane i prawdziwe rozwiązania, które zostały przetestowane (i tym samym wykorzystane) w różnych projektach.

Strukturyzacja funkcjonalności API

Guzzle to moja biblioteka z wyboru. Tak, WordPress ma wbudowane funkcje do komunikowania się z innymi adresami URL, ale jest więcej możliwości z Guzzle (zwłaszcza w odniesieniu do komponentów żądania) niż z WordPress.

To prawda, to moja opinia, ale lubię z nią pracować. A dokumentacja jest solidna.

Diagramowanie systemu

Jeśli wystarczająco długo pracujesz z integracją z zewnętrznymi interfejsami API, musisz przyzwyczaić się do procesu konfigurowania działania systemu. Zwykle wygląda to mniej więcej tak:

  1. stworzyć klienta API do połączenia z API,
  2. skonfigurować funkcje niezbędne do realizacji żądań, których potrzebujesz,
  3. przeanalizuj odpowiedź,
  4. zwróć go do oryginalnego obiektu lub funkcji, która wywołała żądanie.

To trochę uproszczenie (w końcu stworzenie klienta API może być zadaniem samym w sobie), ale wszystkie punkty pozostają takie same (i nie może być złą serią 🤔).

Zresztą, przede wszystkim, nigdy nie zaszkodzi stworzyć diagram systemu. To jest coś, co nadal robię, ponieważ pomaga mi to w pewnym sensie wyartykułować to, co buduję, i zobaczyć, czy istnieją luki w przepływie kontroli przez aplikację.

Oto dlaczego, jeśli nie z innego powodu, jest to ważne: artykułowanie tego, co zamierzasz zrobić, pomaga ci zrozumieć, co robisz i często ujawnia luki w twoim myśleniu, które uważasz za oczywiste.

Więc jeśli chodzi o układanie systemu, nie zakładaj, że masz wszystko wymyślone.

Oddzielenie funkcjonalności

Jeśli czytasz tego bloga od dłuższego czasu, to wiesz, że jestem fanem podążania za pomysłami rozwojowymi „separacji obaw".

Dzieje się tak z wielu powodów, z których najmniejsze nie są:

  • możliwość testowania jednostkowego klienta API w izolacji,
  • utrzymywanie niezależnego kodu do komunikacji z front-endem i back-endem.

Jeśli masz klasę przeznaczoną do uruchamiania logiki biznesowej na wartościach, możesz przenieść większość obsługi błędów do klasy pośredniej.

Oznacza to, że klasa core odpowiedzialna za większość logiki biznesowej powinna mieć dokładnie to, czego potrzebuje do swojej pracy. Nie oznacza to, że nie powinno być kontroli błędów (dzielenie przez zero czy coś, wiesz?), ale oznacza to, że dane mogą być sprawdzane, zanim dotrą do klasy podstawowej przez klasę pośredniczącą.

I nie tylko może sprawdzić brakujące informacje, ale może również zgłosić te błędy z powrotem do interfejsu użytkownika.

Trzy punkty do zapamiętania

Jeśli tworzysz system oparty na Ajaxie w WordPressie, sedno tego wszystkiego jest potrójne:

  1. zaprojektuj system, który tworzysz,
  2. utworzyć klasę pełnoekranową do obsługi brakujących informacji i zgłosić błędy,
  3. wyślij pełne informacje do podstawowej klasy biznesowej dopiero po zweryfikowaniu wszystkich informacji.

Kiedy już to zrobisz, celem będzie, aby podstawowa klasa biznesowa zwracała żądane wartości bez błędów, ponieważ zostaną one przechwycone, zanim jeszcze do niej dotrą.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów