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

O niezmiennych wartościach w wtyczkach WordPress

4

Jeśli wykonałeś jakąkolwiek pracę – a nawet czytałeś – na temat programowania obiektowego, to prawdopodobnie natknąłeś się na ideę niezmienności. To jest idea, że ​​coś jest niezmienne.

Czasami możesz mieć niezmienne wartości, a czasami możesz mieć niezmienne obiekty (przynajmniej po ich wystąpieniu).

Przeciwieństwo niezmienności (ale i tak był moim ulubionym żółwiem ninja).

Chodzi o to, że im więcej pracuję z kodem obiektowym, tym mniej pracuję z niezmiennymi zmiennymi. Jasne, użyję stałych zdefiniowanych w pliku konfiguracyjnym, ale prawdopodobnie nie znajdziesz mnie przechowującego wartości w klasie jako const.

To prawdopodobnie sugeruje coś o mnie i moich zdolnościach, ale to prawda. Na szczęście przeglądy kodu świetnie pomagają dostrzec możliwości wykorzystania strategii, których normalnie nie byś użył. I tak jest w przypadku niezmiennych wartości we wtyczkach WordPress.

Oczywiście jest to jedna z tych rzeczy, na które zwrócił mi uwagę znajomy podczas przeglądania mojego kodu.

Podczas pracy z WordPressem wielu z nas prawdopodobnie zna functions.php i wp-config.php oraz rolę, jaką odgrywają w podstawowej aplikacji WordPress.

Tak, są chwile, w których rzeczy należą do wp-config.php i tak, są chwile, w których rzeczy należą do functions.php, ale czasami myślę, że dany plik jest nadużywany za pomocą zbyt wielu funkcji, wartości i tak dalej .

Ale co z wtyczkami? A konkretnie, co z wtyczkami obiektowymi? Na przykład załóżmy, że pracujesz z interfejsem API, który wymaga klucza interfejsu API, więc nie przekroczysz określonego limitu szybkości w bezpłatnej wersji aplikacji.

Zwykle możesz znaleźć mnie przechowującego wartość w głównej klasie wtyczki jako zmienną instancji, która może być przekazywana, lub może jest to klasa kontenera, do której mogę się odnieść i użyć jej metody get .

Ale co z używaniem  właściwości const w klasie, a następnie przekazywaniem jej przez wstrzykiwanie setter?

Załóżmy na przykład, że istnieje klasa wtyczki, która polega na klasie pomocniczej do renderowania czegoś na ekranie. Klucz API można zdefiniować w tej klasie, a następnie w razie potrzeby przekazać do helpera :

Następnie klasa pomocnicza może wywołać dowolny interfejs API (nazywam go Canvas, ponieważ hipotetycznie będziemy czymś), używając swojego adresu URL i przekazuje klucz API jako część ciągu zapytania.

Tą drogą:

  • jest jedno miejsce, w którym przechowywana jest wartość,
  • jest opisowa nazwa wskazująca, co przechowuje,
  • można go przekazać do innych klas z minimalną zależnością,
  • inne klasy mogą odwoływać się do nich jako zmienne lokalne lub zmienne instancji (w zależności od tego, jak są przekazywane).

Jasne, są inne sposoby przechowywania tych wartości (ponownie przy użyciu functions.php lub czegoś podobnego).

Ale jeśli pracujesz z programowaniem obiektowym i chcesz pracować z niezmiennymi wartościami we wtyczce WordPress, czy nie ma sensu trzymać tego w kontekście klas, które tworzą wtyczkę?

Ź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