Biblioteki dla wtyczek WordPress, część 1
Im więcej pracujesz z WordPress, zwłaszcza jeśli korzystasz z narzędzi takich jak Composer i tym podobnych, tym bardziej prawdopodobnie znajdziesz pewne biblioteki, narzędzia i podobne rzeczy, które stanowią podstawę projektów, nad którymi pracujesz.
Czasami możesz je znaleźć podczas przeglądania kodu innych osób, może znajdziesz je podczas przeglądania GitHub, a może ktoś, z kim pracujesz, zasugeruje bibliotekę (lub kilka) w zależności od projektu.
Osobiście mam doświadczenie z wszystkimi powyższymi i im więcej pracuję nad budowaniem rozwiązań dla siebie lub innych, tym częściej zakładam te same fundamenty dla każdego projektu (co zwykle jest jakąś wtyczką) .
Biblioteki dla wtyczek WordPress
W tym celu pomyślałem, że warto udostępnić biblioteki, których używam przy tworzeniu wtyczek WordPress. Treść będzie rozłożona na kilka postów, aby każdy z nich był krótki i skoncentrowany, ale być może znajdziesz coś, czego wcześniej nie używałeś (lub co poprawi twoje obecne wykorzystanie).
Jednostka PHP
Każdy, kto napisał dowolny kod w dowolnym języku programowania, prawdopodobnie zna dowolny typ biblioteki *Unit. Krótko mówiąc, jest to sposób na łatwe pisanie testów jednostkowych.
PHPUnit jest zorientowanym na programistę frameworkiem testowym dla PHP. Jest to instancja architektury xUnit dla frameworków testów jednostkowych.
Nie jestem kimś, kto koniecznie subskrybuje 100% pokrycie kodu (i to temat na inny post), ale jeśli zamierzasz pisać testy jednostkowe, to jest to de facto biblioteka do testowania jednostkowego twojego kodu.
GrumPHP
Przez cały ten rok GrumPHP stało się prawdopodobnie moją ulubioną biblioteką (chociaż została ulepszona przez dodatkowe biblioteki, które będę omawiać w tej serii wpisów).
Mówiłem o tym w innych postach. Chociaż opisuje się jako „narzędzie jakości kodu", naprawdę nie możesz nie dostrzec korzyści, dopóki nie podłączysz go do oglądania kodu przed próbą zatwierdzenia go do repozytorium.
Dłuższy opis to:
Jeśli testy zakończą się niepowodzeniem, nie będziesz w stanie zatwierdzić zmian. To przydatne narzędzie nie tylko ulepszy Twój kod, ale także nauczy Twoich współpracowników pisania lepszego kodu zgodnie z najlepszymi praktykami, które ustaliłeś jako zespół.
I, tak jakbyś używał monitora standardów kodowania w swoim IDE, jest to jedna z tych rzeczy, których używanie na początku może być frustrujące.
Ale kiedy się tego nauczysz, łatwiej będzie wiedzieć, co będzie oznaczane, więc automatycznie zaczniesz pisać kod, który ma wyższy poziom jakości.
PHPMD
PHPMD (skrót od PHP Mess Detector) działa dobrze w połączeniu z GrumPHP, ponieważ może przetwarzać Twój kod, zanim zatwierdzisz go w repozytorium.
Projekt opisuje się jako:
Pobiera daną bazę kodu źródłowego PHP i szuka kilku potencjalnych problemów w tym źródle.
Podobnie jak w przypadku wielu podobnych bibliotek, ta konkretna może skonfigurować zestaw reguł, dzięki czemu możesz łatwo włączać i wyłączać różne rzeczy w zależności od preferencji Ciebie lub Twojego zespołu.
Parser PHP
Pomysł posiadania biblioteki parsera PHP do analizy kodu wydaje się nieco meta, prawda? Mam na myśli to, że robisz to środowisko wykonawcze PHP i wiele IDE również to robi, ale działa to w nieco inny sposób.
Z repozytorium:
Jest to parser PHP 5.2 do PHP 7.1 napisany w PHP. Jego celem jest uproszczenie analizy i manipulacji kodem statycznym.
Dla tych, którzy wiedzą, jak działają języki programowania (a tym samym gramatyki), pomysł przeprowadzenia statycznej analizy kodu będzie miał sens.
Niezależnie od tego jest to kolejna biblioteka, która pomaga poprawić jakość kodu poprzez zmniejszenie złożoności kodu.
Więcej w przyszłości
Pod koniec serii opowiem, jak włączyć je wszystkie do composer.jsonpliku, którego możesz użyć w swoim projekcie.
Kiedy pracujesz nad rozwiązaniem dla klienta, być może będziesz musiał zmienić wersje każdego z tych narzędzi, ale przekonasz się, że większość z nich oferuje wsparcie od PHP5.6 aż do PHP7.1.


