Jak Xdebug może pomóc Ci zostać lepszym programistą WordPress

Opublikowany: 2022-10-11

Każdy programista może zaświadczyć, że kod nigdy nie jest gotowy do produkcji po pierwszym szkicu. Jedną z kluczowych części procesu programistycznego jest debugowanie — usuwanie lub zmienianie wszystkich części kodu, które nie działają.

Rozszerzenie Xdebug dla PHP to popularny sposób na wykorzenienie i zniszczenie wszystkich błędów w kodzie.

Jednym z największych aspektów Xdebug jest jego elastyczność. Bez względu na preferowaną platformę lub środowisko programistyczne, będziesz mógł znaleźć wersję Xdebug, która będzie pasować do Twojego przepływu pracy. Stamtąd zdobycie uchwytu na narzędziu nie zajmie dużo czasu.

W tym samouczku omówimy szczegółowo Xdebug, w tym proces instalacji, integrację z twoją konfiguracją i ogólne użycie.

Najpierw dajmy więcej kontekstu na temat tego, czym jest Xdebug i co robi.

Przedstawiamy Xdebug

Xdebug to jedno z najpopularniejszych rozszerzeń do debugowania kodu PHP. Zainstalujesz go z wybranego środowiska i działa on jako „debugger krokowy”.

Zielone, warstwowe tło przedstawiające logo Xdebug, uzupełnione zielonym „X”.
Logo Xdebug.

Krótko mówiąc, umożliwia to pracę nad kodem wiersz po wierszu, dzięki czemu można przejść i przyjrzeć się, jak kod działa i oddziałuje w programie, a także badać jego dane wyjściowe. Stamtąd możesz wprowadzać zmiany według własnego uznania.

Xdebug potrafi jednak znacznie więcej:

  • Możesz analizować wydajność swojego kodu za pomocą zestawu metryk i wizualizacji.
  • Kiedy uruchamiasz testy jednostkowe PHP, możesz zobaczyć, które zestawy kodu uruchamiasz i wykonujesz.
  • Xdebug zawiera możliwości „śledzenia”, które zapisuje każde wywołanie funkcji na dysku. Obejmuje to argumenty, przypisania zmiennych i wartości zwracane.
  • Xdebug wprowadza również ulepszenia do standardowego raportowania błędów PHP. Omówimy to później.

Biorąc pod uwagę zestaw funkcji, istnieje wiele sposobów korzystania z Xdebug (i dowolnego podobnego debugera) w przepływie pracy. Omówimy je w następnej sekcji.

Debugowanie jest kluczową częścią procesu rozwoju - a Xebug jest tutaj, aby ułatwić ten proces Kliknij, aby tweetować

Dlaczego chcesz używać Xdebug

Wielu deweloperów nie ma dedykowanego przepływu pracy debugowania, który korzysta z narzędzi i rozszerzeń innych firm. Dzieje się tak, ponieważ PHP zawiera własne podstawowe rejestrowanie błędów. Użyjesz poleceń, takich jak error_log , var_dump i print , aby zobaczyć wyniki zmiennych i wywołań funkcji.

Na przykład istnieje wiele fragmentów, które możesz wykorzystać do tworzenia WordPressa — jest w nich mnóstwo przepełnienia Stack Overflow:

 function log_me($message) { if ( WP_DEBUG === true ) { if ( is_array($message) || is_object($message) ) { error_log( print_r($message, true) ); } else { error_log( $message ); } } }

Istnieje jednak kilka ważnych wad tego podejścia:

  • Najpierw musisz upewnić się, że włączyłeś dzienniki błędów dla platformy, z którą pracujesz. W takim przypadku będziesz chciał włączyć WP_DEBUG (więcej o tym wkrótce).
  • Ten przykład debugowania „zrzutu” oferuje mniejszy zakres dochodzenia niż debugowanie krokowe. Tutaj możesz wypisać tylko to, co zdefiniujesz.

Ten ostatni punkt wymaga dużego wysiłku manualnego, zwłaszcza jeśli na co dzień nie pracujesz jako administrator. Na przykład, jeśli chcesz debugować blok kodu, możesz dodać swój fragment kodu na podstawie zdefiniowanej zmiennej. Jednak może nie być źródłem problemu ani nawet wskazywać, co się dzieje.

Zamiast tego narzędzie takie jak Xdebug może działać magicznie, aby zapewnić większy zakres:

  • Możesz „złamać” swój kod w różnych momentach wykonywania, aby zobaczyć, co się dzieje w czasie rzeczywistym.
  • Istnieje niezliczona ilość metryk, wizualizacji, gałęzi i nie tylko, które pomogą Ci ustalić, co robi Twój kod i jak reaguje.
  • Czasami możesz nawet zmieniać wartości w locie podczas procesu debugowania. Zapewnia to ogromną wartość, nawet w przypadku pakietów kodu, które działają dobrze. Zasadniczo możesz przeprowadzić ręczne testy jednostkowe w dowolnym momencie.
  • Ponieważ używasz punktów przerwania do oznaczania obszarów do debugowania, nie musisz pracować z fragmentami kodu. Dzięki temu Twój kod będzie czystszy i zmniejszy się liczba przyszłych problemów.

Ogólnie rzecz biorąc, korzystanie z narzędzia takiego jak Xdebug jest decyzją proaktywną, a nie reaktywną. Debugowania krokowego można używać w ramach podstawowego procesu opracowywania, podobnie jak wdrażanie testów jednostkowych w ramach programowania sterowanego testami (TDD).

Jak włączyć rejestrowanie błędów PHP?

Chociaż możesz debugować swój kod bez określonego błędu, często dobrze jest wiedzieć, czy problem występuje bez otwartego Xdebug. Daje ci to punkt wyjścia do eksploracji. Nie jest to bezwzględnie konieczne, ale może być pomocną częścią Twojej sieci.

Aby zgłosić każdy pojawiający się błąd, musisz dodać linię na górze odpowiedniego pliku PHP:

 error_reporting(E_ALL);

Jest to polecenie typu catch-all, które możesz osiągnąć za pomocą funkcji ini_set :

 ini_set('error_reporting', E_ALL);

Pozwala to na zmianę ustawień w pliku php.ini na podstawie projektu po projekcie. Chociaż możesz przejść do tego pliku i dokonać ręcznej zmiany, często lepszym pomysłem jest praca z ini_set w celu zmiany określonego parametru:

 ini_set('display_errors', '1');

Po skonfigurowaniu aktywnego raportowania błędów zgodnie z własnymi upodobaniami możesz rozpocząć pracę z Xdebug.

Jak korzystać z Xdebug

W następnych kilku sekcjach pokażemy, jak korzystać z Xdebug, w tym kroki, które musisz skonfigurować. Chociaż nie możemy omówić wszystkich aspektów narzędzi, ten przewodnik szybkiego startu pomoże Ci szybko przejść.

Najpierw jednak musisz zainstalować Xdebug. Dowiedzmy się, jak to zrobić.

1. Zainstaluj Xdebug dla swojego systemu operacyjnego (OS)

Ponieważ Xdebug można dostosować do dowolnej liczby konfiguracji, dokładny proces dla każdej z nich będzie nieco inny. Na poziomie systemu operacyjnego jest kilka różnic:

  • Windows: Jest to nieco skomplikowany proces konfiguracji, który obejmuje użycie istniejącego pliku PHP i kreatora instalacji, a następnie pobranie odpowiedniej wersji dla twojego systemu.
  • Linux: Ta metoda jest prawdopodobnie najprostsza: możesz użyć menedżera pakietów, aby zainstalować Xdebug lub Bibliotekę Społeczności Rozszerzeń PHP (PECL).
  • Mac: Ta metoda jest również prosta: po zainstalowaniu PECL możesz uruchomić pecl install xdebug z instancji Terminala. Będziesz także musiał mieć zainstalowane narzędzia wiersza poleceń XCode i PHP w swoim systemie.

Jednak większość użytkowników nie będzie chciała trzymać się instancji Xdebug na poziomie systemu. Zamiast tego będziesz chciał zintegrować go z własnym środowiskiem programistycznym.

2. Zintegruj Xdebug ze swoim środowiskiem programistycznym

Po zainstalowaniu Xdebug dla swojego systemu operacyjnego, powinieneś podłączyć go do swojego środowiska.

Jest tu tak wiele obsługiwanych systemów i narzędzi, że nie możemy przejść do wszystkich z nich. Później zaoferujemy instrukcje zarówno dla DevKinsta, jak i PhpStorm. Mimo to istnieje wiele innych popularnych środowisk do wyboru. Poniżej znajdują się niektóre z naszych najlepszych rekomendacji.

Różni włóczędzy włóczędzy (VVV)

VVV to jedno z nazwanych środowisk na stronie Make WordPress:

Niebieskie tło zawierające 8-bitową grafikę ASCII logo Varying Vagrant Vagrants (
Logo różnych włóczęgów włóczęgów.

Dobrą wiadomością jest to, że VVV zawiera już wersję Xdebug, ale musisz ją aktywować. Możesz to zrobić za pomocą Secure Shell (SSH) w oknie terminala:

 vagrant ssh -c "switch_php_debugmod xdebug"

Jest jednak niewielki spadek wydajności i musisz ponownie włączyć tę opcję, jeśli udostępniasz swoje witryny.

Laravel Valet

Dla niektórych użytkowników, Valet Laravela reprezentuje niemal idealne środowisko do tworzenia stron internetowych. Co więcej, możesz z nim zintegrować Xdebug.

Aby to zrobić, musisz utworzyć plik konfiguracyjny dla debugera. Możesz znaleźć własną ścieżkę za pomocą php --ini w wierszu poleceń, który zwróci kilka różnych ścieżek do plików:

Okno terminala z listą ścieżek plików konfiguracyjnych .ini PHP oraz pustym kursorem wiersza poleceń.
Terminal pokazujący listę ścieżek plików konfiguracyjnych.

Następnie utwórz nowy plik xdebug.ini w ścieżce dla dodatkowych plików .ini . W naszym przykładzie jest to /opt/homebrew/etc/php/7.4/conf.d .

Po otwarciu nowego pliku otwórz również ścieżkę do załadowanego pliku konfiguracyjnego (twój główny plik php.ini ). Gdy oba są otwarte, dodaj na dole:

  • php.ini: zend_extension="xdebug.so"
  • xdebug.ini: xdebug.mode=debug

Po zapisaniu zmian uruchom valet restart z terminala, a następnie dodaj phpinfo(); exit; phpinfo(); exit; do jednego z plików Twojej witryny. Będziesz chciał sprawdzić, czy to działa, poprzez szybkie ładowanie strony w przeglądarce.

Plik informacyjny PHP w przeglądarce, pokazujący logo Xdebug i
Ekran informacyjny PHP.

Zwróć uwagę, że może być konieczne zrestartowanie PHP za pomocą sudo brew services restart php , a także sprawdź, czy instalacja systemu Xdebug jest poprawna za pomocą php --info | grep xdebug php --info | grep xdebug . Zauważysz wiersze specyficzne dla Xdebug w danych wyjściowych:

Okno Terminala przedstawiające szereg różnych ustawień konfiguracyjnych Xdebug (takich jak nazwy danych wyjściowych i zmienne wyświetlania). Monit pokazuje

W tym miejscu możesz włączyć Xdebug do wybranego przez siebie edytora kodowania.

XAMPP

Podobnie jak Valet, proces XAMPP składa się z kilku części. Jednak wersje Windows i macOS mają dwa różne procesy.

Zacznij od zainstalowania XAMPP, a następnie uruchom szybkie sprawdzenie, czy plik php_xdebug.dll (Windows) lub plik xdebug.so (macOS) istnieje w Twoim systemie:

Okno terminala z fragmentem do sprawdzenia, czy istnieje jakiś czas. Jeśli tak, Terminal wyprowadzi
Okno terminala pokazujące test dla pliku XAMPP.

Jeśli plik istnieje, możesz przejść do konfiguracji. W przeciwnym razie najpierw musisz pobrać odpowiedni plik binarny dla systemu Windows — plik 64-bitowy dla preferowanej wersji PHP — lub zainstalować kilka dodatkowych zależności, jeśli korzystasz z komputera Mac.

W systemie Windows zmień nazwę pliku DLL php_xdebug.dll , a następnie przenieś go do ścieżki pliku \xampp\php\ext . Następnie otwórz plik \xampp\php\php.ini w preferowanym edytorze kodu i dodaj:

 output_buffering = Off

W sekcji [XDebug] dodaj kolejne trzy wiersze:

 zend_extension=xdebug xdebug.mode=debug xdebug.start_with_request=trigger

Po zapisaniu zmian uruchom ponownie Apache i przetestuj pod kątem Xdebug.

W przypadku komputerów Mac upewnij się, że instalujesz narzędzia wiersza poleceń Xcode za pomocą xcode-select --install w wystąpieniu Terminal. Następnie są trzy pakiety, które chcesz zainstalować za pomocą Homebrew:

 brew install autoconf automake libtool

W niektórych przypadkach konieczne będzie również ponowne zainstalowanie XAMPP, aby uzyskać zarówno program podstawowy, jak i „Pliki programisty”. Powinno być możliwe ponowne zainstalowanie tylko tych plików, ale najpierw należy wykonać kopię zapasową istniejącej konfiguracji.

Następnie przejdź do pobierania folderu źródłowego Xdebug w systemie i rozpakuj plik TGZ. W oknie terminala przejdź do tego katalogu i uruchom następujące polecenie:

 phpize pecl install xdebug

Pamiętaj, że może być konieczne użycie tutaj sudo . Stąd możesz edytować plik XAMPP php.ini. W przypadku większości instalacji macOS znajdziesz go w /Applications/XAMPP/xamppfiles/etc/php.ini . W tym katalogu znajdziesz również ścieżkę do swojego pliku xdebug.so — zanotuj to i użyj go zamiast symbolu zastępczego ścieżki pliku dla tego fragmentu:

 [xdebug] zend_extension=/path/to/xdebug.so xdebug.mode=develop,degug xdebug.start_with_request=yes

Aby sprawdzić, czy to działa, utwórz nowy plik xdebug_info.php w głównym katalogu XAMPP htdocs . Wewnątrz dodaj następujące:

 <?php xdebug_info();

…następnie odśwież Apache i przetestuj Xdebug w przeglądarce.

Używanie PHPStorma z Xdebug

Po zainstalowaniu Xdebug za pośrednictwem systemu operacyjnego i środowiska programistycznego konieczne będzie również wyświetlenie samego debugera. Zrobisz to za pomocą wybranego edytora kodu lub zintegrowanego środowiska programistycznego (IDE). Podobnie jak w przypadku twojego środowiska, jest tak wiele do wyboru, a każdy z nich może mieć inne podejście.

To powiedziawszy, wielu programistów decyduje się na użycie PhpStorm firmy JetBrains. W rzeczywistości PhpStorm oferuje „pomoc świadomą WordPressa” — i jest popularnym wyborem również z wielu innych powodów.

Interfejs PhpStorm, z katalogiem drzewa projektu po lewej stronie, który używa tekstu białego, niebieskiego i żółtego. Po prawej stronie znajduje się kod PHP dla wtyczki WordPress z tekstem pomarańczowym, fioletowym, zielonym i białym.
Interfejs PhpStorm.

Strona JetBrains zawiera pełne instrukcje dotyczące łączenia Xdebug i PhpStorm, ale omówimy je tutaj.

Najpierw przejdź do strony Języki i struktury > PHP w panelu Preferencje . Tutaj otwórz menu kebab More Items obok pola rozwijanego CLI Interpreter :

Częściowy ekran preferencji PhpStorm, pokazujący łącze do strony (
Wybór interpretera CLI w PhpStorm.

Spowoduje to wyświetlenie dalszych szczegółów dotyczących Twojej wersji PHP i interpretera. Jeśli klikniesz wielokropek Więcej elementów obok opcji Plik konfiguracyjny , zobaczysz pełne ścieżki do pliku php.ini :

Częściowy ekran PhpStorm More Items pokazujący nazwę konfiguracji, ścieżkę do pliku wykonywalnego PHP, aktualne numery wersji PHP i debuggera oraz listę plików konfiguracyjnych dla różnych aspektów instalacji PHP.
Zmiana konfiguracji PHP w PhpStorm.

Będziesz pracować z tym plikiem PHP, aby kontynuować proces konfiguracji.

Praca w pliku php.ini

Pierwszym zadaniem tutaj jest wyedytowanie wszystkich linii, które mają wpływ na sposób, w jaki Xdebug będzie działał z PhpStorm.

W pliku php.ini poszukaj następujących wierszy i usuń je lub skomentuj:

 zend_extension=<path_to_zend_debugger> zend_extension=<path_to_zend_optimizer>

Te linie nie będą obecne we wszystkich przypadkach, więc nie przejmuj się, jeśli ich nie widzisz.

Następnie dodaj do pliku:

 [xdebug] zend_extension="xdebug.so" xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"

Należy zwrócić uwagę na kilka rzeczy dotyczących tego pakietu kodu:

  • Być może masz już [xdebug] , w takim przypadku możesz pominąć pierwsze oznaczenie.
  • Wpis zend_extension może wymagać dodania pełnej ścieżki do xdebug.so w celu połączenia.
  • Chociaż może wyglądać jak symbol zastępczy, parametr xdebug.client_port jest sposobem, w jaki ustawisz go w swoim kodzie.

Po ich dodaniu zapisz i zamknij plik, a następnie przetestuj wersję PHP z wiersza poleceń (używając php --version ):

Niebieskie, czerwone i fioletowe gradientowe tło pulpitu Big Sur z oknem terminala macOS. Pokazuje polecenie "php -version" wraz z numerem wersji PHP, informacją o prawach autorskich i zainstalowanymi wersjami (wraz z numerami wersji) dla Zend Engine, Xdebug i Zend OPcache.
Testowanie bieżących instalacji PHP i Xdebug przy użyciu terminala macOS.

Jeśli masz działającą wersję Xdebug, będzie ona wyświetlana jako jedno z rozszerzeń PHP. Możesz także dodać phpinfo(); do nowego pliku i przetestuj to w przeglądarce.

To prawie wszystko, co musisz zrobić, aby Xdebug działał jako domyślny debugger z PhpStorm. Ostatnim krokiem przed jego użyciem jest zainstalowanie rozszerzenia przeglądarki.

Instalowanie rozszerzenia przeglądarki Helper

Ostatnie kluczowe połączenie, które musisz nawiązać, to połączenie między przeglądarką a PhpStorm, realizowane przez aktywację debugowania krokowego na serwerze. Chociaż możesz to zrobić z wiersza poleceń, używając specjalnych wartości GET lub POST , prostsze jest użycie rozszerzenia.

Zalecamy korzystanie z dedykowanego rozszerzenia Xdebug Helper. Możesz go zainstalować w wybranej przeglądarce:

  • Xdebug Helper dla Chrome/Chromium/Brave
  • Pomocnik Xdebug dla Firefoksa
  • Pomocnik Xdebug dla Safari

Jeśli chcesz poznać inne rozszerzenia, strona JetBrains oferuje kilka dodatkowych opcji dla najpopularniejszych przeglądarek.

Po zainstalowaniu wybranego rozszerzenia przeglądarki nie trzeba zmieniać żadnych dalszych ustawień konfiguracyjnych. Od tego momentu możesz zacząć używać Xdebug z PhpStorm.

Korzystanie z Xdebuga

Chociaż użyjemy tutaj PhpStorma, zobaczysz podobny układ i interfejs między różnymi IDE — choć będą też pewne oczywiste różnice.

Istnieje kilka koncepcji, które łączą się, tworząc całe środowisko debugowania:

  • Punkty przerwania : są to punkty, w których Xdebug zatrzyma się, aby umożliwić ci sprawdzenie danych wyjściowych. Możesz ustawić tyle z nich, ile chcesz.
  • Nasłuchiwanie połączeń: możesz to włączać i wyłączać, chociaż większość programistów zawsze zostawia to włączone.
  • Ekran debugowania: większość czasu spędzisz w interfejsie debugowania — to tam będziesz pracować z różnymi wierszami kodu, zmiennymi i parametrami.

Pierwszym krokiem jest aktywacja nasłuchiwania — bez tego nie będziesz w stanie niczego debugować. Aby to zrobić, kliknij opcję Uruchom > Rozpocznij nasłuchiwanie połączeń debugowania PHP na pasku narzędzi:

Częściowy ekran interfejsu PhpStorm, pokazujący katalog drzewa po lewej stronie oraz pasek narzędzi aplikacji. Menu Uruchom jest otwarte, a
Otwarte menu Uruchom w PhpStorm.

Alternatywnie możesz kliknąć ikonę „telefon” na pasku narzędzi PhpStorm:

Zbliżenie paska narzędzi PhpStorm, który wyświetla opcje bieżącej konfiguracji uruchamiania, różne opcje Git oraz ikonę telefonu Rozpocznij nasłuchiwanie połączeń debugowania PHP (wraz z podpowiedzią).
Nasłuchiwanie połączeń debugowania PHP za pomocą ikony telefonu na pasku narzędzi PHPStorm.

Każda z tych opcji rozpocznie nasłuchiwanie połączeń.

Od tego momentu możesz zacząć ustawiać punkty przerwania w rynnach edytora kodu. Czerwona kropka wskazuje punkt przerwania, który możesz kliknąć, aby aktywować:

Zbliżenie na interfejs PhpStorm, pokazujące katalog drzewa po lewej i panel kodowania po prawej. W rynnach edytora w wierszach 45, 50 i 55 znajdują się czerwone kropki z białymi znacznikami. Są to punkty przerwania do debugowania.
Punkty przerwania w rynsztoku strony edycji PhpStorm.

Jeśli chcesz debugować swój kod, najprostszym sposobem jest rozpoczęcie nasłuchiwania, ustawienie punktów przerwania, a następnie przejście do określonej strony w przeglądarce. Znajdź ikonę rozszerzenia w przeglądarce, a następnie kliknij ją i wybierz opcję „Debuguj”:

Przeglądarka Mozilla Firefox z zielonym tłem (i
Wybranie opcji Debug na pasku narzędzi przeglądarki za pomocą dedykowanego rozszerzenia.

Spowoduje to otwarcie debuggera w PhpStorm i dostarczenie dobrych lub złych wiadomości:

Częściowy ekran PhpStorm, pokazujący otwarty panel debuggera. Po lewej widać różne punkty przerwania, wraz z nazwami plików, numerami wierszy i odwołaniami do funkcji. Po prawej stronie wyświetlane są wartości zmiennych w całym kodzie wraz z typami wartości.
Używanie debuggera PhpStorm z Xdebug.

Jeśli klikniesz prawym przyciskiem myszy różne wartości, atrybuty, parametry i zmienne, uzyskasz dostęp do dalszego menu kontekstowego. Daje to mnóstwo dodatkowego zakresu do testowania i debugowania kodu:

Część interfejsu PhpStorm Debugger z listą punktów przerwań, nazw plików, numerów linii i referencji funkcji po lewej stronie. Prawa strona pokazuje podświetloną wartość w kodzie, z otwartym menu kontekstowym. Wśród opcji jest „Ustaw wartość…” — sposób na przypisanie nowych wartości do zmiennych i debugowanie kodu.
Używając menu kontekstowego prawego przycisku myszy w PhpStorm Debuggerze, aby ustawić nowe wartości.

Na przykład możesz ustawić różne wartości zmiennych na ścieżce. Może to być celowa próba złamania kodu i zobaczenia, co się stanie, lub może to być sposób na przetestowanie kodu, który już wymaga poprawki. Tak czy inaczej, daje to fantastyczną metodę debugowania kodu bez konieczności jego uprzedniej zmiany.

Jak Kinsta pomaga w debugowaniu witryny WordPress

WordPress ma własny zestaw opcji debugowania za pośrednictwem WP_DEBUG i innych narzędzi, takich jak Query Monitor. Umożliwiają one tryb, w którym zaczniesz widzieć wcześniej ukryte komunikaty o błędach w całej witrynie i na pulpicie nawigacyjnym. Stamtąd możesz zacząć zastanawiać się, na czym polega problem.

Możesz także zapisać te komunikaty o błędach za pomocą WP_DEBUG_LOG , co umożliwia udokumentowanie problemów z Twoją witryną. Omówimy, jak to skonfigurować w innym artykule na blogu. To bardzo proste w konfiguracji za pomocą pulpitu nawigacyjnego MyKinsta (oraz ekranu Witryny > Narzędzia ):

Pulpit nawigacyjny MyKinsta, pokazujący fioletowy pasek boczny po lewej stronie i kolejne szare podmenu. Istnieją dwie opcje do przełączenia tutaj — narzędzie wyszukiwania i zamiany po prawej stronie i narzędzie do debugowania WordPress po lewej stronie.
Opcja debugowania WordPress na pulpicie nawigacyjnym MyKinsta.

Jeśli sparujesz to z bezpłatnym narzędziem środowiska lokalnego DevKinsta, będziesz mieć również sposób na włączanie i wyłączanie WP_DEBUG jednym kliknięciem dla każdej witryny, którą uruchomisz:

Pulpit nawigacyjny DevKinsta dla jednej witryny. Pokazuje ustawienia bazy danych, w tym host, port, nazwę i poświadczenia użytkownika. Istnieje również
Włączanie WP_DEBUG w panelu sterowania DevKinsta.

Oznacza to, że możesz wyłapać błędy w swojej witrynie podczas opracowywania i upewnić się, że nie przedostaną się one do działającej witryny. Te tryby można również łatwo wyłączyć — co ma kluczowe znaczenie zarówno dla bezpieczeństwa witryny, jak i użytkownika.

Wszystkie plany Kinsta zawierają również wbudowane narzędzie Kinsta APM, które jest naszym niestandardowym narzędziem do monitorowania wydajności dla witryn WordPress.

Ściągawka do poleceń

Zanim zakończymy ten post, warto wspomnieć o skrótach.

Podobnie jak w przypadku wielu innych programów, istnieje wiele sposobów poruszania się po Xdebug (i PhpStorm) za pomocą samej klawiatury. W rzeczywistości możesz nawet użyć wiersza poleceń do debugowania skryptów PHP.

Po uruchomieniu Xdebug możesz użyć następujących poleceń, aby się obejść:

Komenda Skrót
Określ port, na którym chcesz nasłuchiwać (np. [9003] ) -p [value]
Ustawia punkt przerwania w określonym wierszu dla podanej ścieżki pliku. breakpoint_set -t line file:///<path> -n <line>
Uruchamia Twój skrypt do końca lub do następnego punktu przerwania run
Kroki do następnej linii wykonywalnej step_into
Wyświetla listę zmiennych i wartości w bieżącym zakresie context_get
Wyświetla wartość określonej właściwości property_get -n <property>

Podczas gdy twój konkretny edytor kodu będzie miał własne dedykowane skróty, skupimy się tutaj na PhpStorm. Spójrz na tę tabelę skrótów klawiaturowych do używania Xdebug z PhpStorm:

Komenda Okna System operacyjny Mac
Znajdź akcję Ctrl + Shift + A Shift + Cmd + A
Otwórz debuger Shift + F9 Ctrl + D
Przełącz punkt przerwania Ctrl + F8 Polecenie + F8
Wkroczyć F7 F7
Krok nad F8 F8
Zobacz punkty przerwania Ctrl + Shift + F8 Shift + Cmd + F8
Wznów program F9 F9
Oceń aktualne wyrażenie Alt + F8 Opcja + F8

Na szczęście nie ma tu zbyt wiele do zapamiętania. Musisz otworzyć debuger, ustawić punkty przerwania na wiersz, nasłuchiwać połączeń i uruchamiać skrypty.

Jeśli jednak potrzebujesz skrótu do określonego zadania, możesz użyć polecenia PhpStorm Find Action :

Interfejs PhpStorm, pokazujący ekran Find Action. Istnieją różne filtry wyszukiwania dla wszystkich, klas, plików, symboli, akcji i git. Wyszukiwane hasło to
Korzystanie z menu Znajdź akcję w PhpStorm.

Gdy zaczniesz pisać w tym miejscu, zobaczysz dynamiczną listę poleceń i powiązanych skrótów. Wersję PDF wszystkich skrótów klawiaturowych można również znaleźć w menu Pomoc > Skróty klawiaturowe PDF .

Jeśli chcesz mieć dostęp do skrótów w czasie rzeczywistym podczas pracy z myszą, JetBrains udostępnia wtyczkę Key Promoter X:

Okno interfejsu PhpStorm, pokazujące szereg opcji wyszukiwania plików i projektów wraz z odpowiednimi skrótami. W prawym dolnym rogu znajdują się dwa powiadomienia w formacie
Interfejs PhpStorm wyświetlający powiadomienia Key Promoter X.

To przydatne narzędzie wyświetli powiadomienia o ostatniej wykonanej akcji wraz z powiązanym skrótem klawiaturowym. Gdy nauczysz się i użyjesz skrótów, możesz stopniowo wyłączyć tę wtyczkę i przywrócić tę cenną nieruchomość na ekranie.

Każdy programista może zaświadczyć, że kod nigdy nie jest gotowy do produkcji po pierwszym szkicu. Debugowanie jest kluczem – w tym miejscu pojawia się Xdebug Kliknij, aby tweetować

Streszczenie

Praktyka debugowania przeszła długą drogę od swoich skromnych początków; obecnie obejmuje znacznie szerszy zakres, niż mogli sobie wyobrazić jego przodkowie. Aby wykonać gruntowną pracę, jeśli chodzi o naprawę kodu PHP, musisz użyć kompetentnego narzędzia. Istnieje wiele wspaniałych rozszerzeń i narzędzi do wyboru, ale Xdebug jest niekwestionowanym liderem.

Jak widzieliśmy, Xdebug może dostosować się do nawet najbardziej eklektycznych gustów edytorów kodu i jest szczególnie świetny w połączeniu z PhpStorm. Jednak niezależnie od konfiguracji, często istnieje wersja Xdebug, która odpowiada Twoim potrzebom. Ogólnie rzecz biorąc, jest to potężne, elastyczne i intuicyjne narzędzie w użyciu.

Czy uważasz, że Xdebug zasługuje na pochwałę, czy może jest inne preferowane narzędzie do debugowania? Daj nam znać w sekcji komentarzy poniżej!