{"id":228470,"date":"2022-10-24T13:31:00","date_gmt":"2022-10-24T10:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228470"},"modified":"2022-11-09T02:35:57","modified_gmt":"2022-11-08T23:35:57","slug":"xdebug-visual-studio-code-i-mamp","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/xdebug-visual-studio-code-i-mamp\/","title":{"rendered":"Xdebug, Visual Studio Code i MAMP"},"content":{"rendered":"\n<p>U\u017cywanie Xdebug i Visual Studio Code to co\u015b, co jest do\u015b\u0107 \u0142atwe do skonfigurowania, ale bior\u0105c pod uwag\u0119, \u017ce nadal u\u017cywam <a href=\"https:\/\/tommcfarlin.com\/tag\/visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Visual Studio Code<\/a>, powinienem powiedzie\u0107 co\u015b o tym, jak bardzo jestem fanem IDE.<\/p>\n<p>Ale oto rzecz:<\/p>\n<p>Je\u015bli jeste\u015b programist\u0105 WordPress, debugowanie to co\u015b, czego naprawd\u0119 musisz si\u0119 nauczy\u0107. Oznacza to, \u017ce nie u\u017cywaj <a href=\"https:\/\/php.net\/manual\/en\/function.print-r.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\"><code>print_r<\/code><\/a>i <a href=\"https:\/\/php.net\/manual\/en\/function.var-dump.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\"><code>var_dump<\/code><\/a>je\u015bli mo\u017cesz temu pom\u00f3c. U\u017cyj legalnego debugera. Pomo\u017ce ci my\u015ble\u0107 tak, jak my\u015bli t\u0142umacz, i pomo\u017ce ci dowiedzie\u0107 si\u0119 nieco wi\u0119cej o Core.<\/p>\n<p>Teraz, kiedy nie mam ju\u017c mydelniczki, instalacja niezb\u0119dnych narz\u0119dzi jest \u0142atwa. Artyku\u0142 zak\u0142ada, \u017ce \u200b\u200bu\u017cywasz MAMP Pro (poniewa\u017c tego w\u0142a\u015bnie u\u017cywam), ale je\u015bli masz dost\u0119p do php.ini, b\u0119dziesz m\u00f3g\u0142 kontynuowa\u0107.<\/p>\n<h2>Xdebug, Visual Studio Code i konfiguracja<\/h2>\n<p>Dla tych, kt\u00f3rzy nie s\u0142yszeli wcze\u015bniej o <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Xdebug<\/a>, pomy\u015bl o nim jako o oprogramowaniu, kt\u00f3re pozwala zatrzyma\u0107 program podczas jego dzia\u0142ania i zobaczy\u0107 warto\u015bci, jakie maj\u0105 zmienne, jaka metoda jest wykonywana, stos wywo\u0142a\u0144 i tak dalej .<\/p>\n<p>Mo\u017cesz przeczyta\u0107 wi\u0119cej na ten temat <a href=\"https:\/\/xdebug.org\/index.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">na stronie g\u0142\u00f3wnej<\/a>, ale oto jego sedno:<\/p>\n<blockquote>\n<p>Rozszerzenie PHP do wydajnego debugowania. Obs\u0142uguje \u015bledzenie stosu i funkcji, profilowanie informacji i alokacj\u0119 pami\u0119ci oraz analiz\u0119 wykonywania skrypt\u00f3w.<\/p>\n<\/blockquote>\n<p>Wiem \u2013 alokacja pami\u0119ci, analiza wykonania skrypt\u00f3w itp. brzmi troch\u0119 nudno, je\u015bli nie lubisz tego typu rzeczy, ale warto\u015b\u0107, kt\u00f3r\u0105 otrzymujesz z uruchomienia czego\u015b takiego, nie mo\u017ce by\u0107 zani\u017cona.<\/p>\n<p>To powiedziawszy, oto jak sprawi\u0107, by dzia\u0142a\u0142 z MAMP i Visual Studio.<\/p>\n<h3>1 Skonfiguruj MAMP Pro<\/h3>\n<p>Ze wzgl\u0119du na podstawowe wymagania WordPressa zak\u0142adam, \u017ce u\u017cywasz PHP 5.6.28 (ale kroki dzia\u0142aj\u0105 tak samo niezale\u017cnie).<\/p>\n<p>Najpierw upewnij si\u0119, \u017ce Xdebug jest w\u0142\u0105czony z poziomu pulpitu nawigacyjnego MAMP <a href=\"https:\/\/www.mamp.info\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Pro<\/a>.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167972-61e7aac0b1935.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167972-61e7aac0b1935.png\" alt=\"Xdebug, Visual Studio Code i MAMP\" ><\/a><\/p>\n<p>Nast\u0119pnie z menu MAMP Pro wybierz <strong>Edytuj szablon &gt; PHP 5.6.28<\/strong>, a nast\u0119pnie zlokalizuj obszar w pliku szablonu dla konfiguracji PHP, w kt\u00f3rym znajduje si\u0119 Xdebug:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167972-61e7aac4971dd.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167972-61e7aac4971dd.png\" alt=\"Xdebug, Visual Studio Code i MAMP\" ><\/a><\/p>\n<p>Upewnij si\u0119, \u017ce wygl\u0105da <a href=\"https:\/\/gist.github.com\/tommcfarlin\/55caa7164a4cf980b21b626533173043#file-00-php-ini\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">to tak<\/a> :<\/p>\n<pre><code>[xdebug]\nMAMP_Xdebug_MAMPzend_extension=\"\/Applications\/MAMP\/bin\/php\/php5.6.28\/lib\/php\/extensions\/no-debug-non-zts-20131226\/xdebug.so\"\nxdebug.remote_enable=1\nxdebug.remote_host=localhost\nxdebug.remote_port=9000\nxdebug.remote_autostart=1\nxdebug.profiler_enable=0\nxdebug.profiler_output_dir=\"\/Applications\/MAMP\/tmp\"<\/code><\/pre>\n<p>Po zapisaniu MAMP Pro mo\u017ce poprosi\u0107 o ponowne uruchomienie. Je\u015bli tak jest, zr\u00f3b to. Nawet je\u015bli tak si\u0119 nie stanie, zalecam ponowne uruchomienie.<\/p>\n<h3>2 Konfiguracja Kod Visual Studio<\/h3>\n<p>Nast\u0119pnie w <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Visual Studio Code<\/a> przejd\u017a do okienka <strong>Rozszerzenia i wyszukaj<\/strong> <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=felixfbecker.php-debug\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP Debug<\/a>. Zainstaluj i aktywuj.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167972-61e7aac8b48f0.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167972-61e7aac8b48f0.png\" alt=\"Xdebug, Visual Studio Code i MAMP\" ><\/a><\/p>\n<p>Po zako\u0144czeniu mo\u017ce by\u0107 konieczne ponowne za\u0142adowanie IDE. Nawet je\u015bli nie zach\u0119ca Ci\u0119 do tego, polecam. Stamt\u0105d instalowany jest Xdebug i mo\u017cesz rozpocz\u0105\u0107 debugowanie.<\/p>\n<h2>Jak debugowa\u0107?<\/h2>\n<p>To wymaga nieco wi\u0119cej przewodnika, kt\u00f3rym chcia\u0142bym si\u0119 podzieli\u0107 w tym po\u015bcie. Oznacza to, \u017ce ten post jest kr\u00f3tki, ale czas na konfiguracj\u0119 jest nieco d\u0142u\u017cszy.<\/p>\n<p>W kolejnym po\u015bcie przedstawi\u0119, jak debugowa\u0107 cz\u0119\u015b\u0107 w\u0142asnego kodu, a ty mo\u017cesz zobaczy\u0107 go w akcji.<\/p>\n<p>Mo\u017cesz obs\u0142u\u017cy\u0107 normalny MAMP, je\u015bli do\u0142\u0105czysz informacje <a href=\"https:\/\/dillieodigital.wordpress.com\/2015\/03\/10\/quick-tip-enabling-xdebug-in-mamp-for-osx\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">st\u0105d<\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Xdebug i Visual Studio Code to dwie rzeczy, kt\u00f3re mog\u0105 naprawd\u0119 pom\u00f3c w rozwoju podczas pisania kodu. Oto jak skonfigurowa\u0107 Xdebug w IDE.<\/p>\n","protected":false},"author":1,"featured_media":223708,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,897,845],"tags":[1169],"class_list":["post-228470","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-kod","category-samouczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=228470"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228470\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/223708"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}