{"id":229080,"date":"2022-10-24T13:53:00","date_gmt":"2022-10-24T10:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229080"},"modified":"2022-11-09T05:27:35","modified_gmt":"2022-11-09T02:27:35","slug":"xdebug-visual-studio-code-e-mamp","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/xdebug-visual-studio-code-e-mamp\/","title":{"rendered":"Xdebug, Visual Studio Code e MAMP"},"content":{"rendered":"\n<p>Usar o Xdebug e o Visual Studio Code \u00e9 algo muito f\u00e1cil de configurar, mas, como ainda estou usando <a href=\"https:\/\/tommcfarlin.com\/tag\/visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o Visual Studio Code<\/a>, devo dizer algo sobre o quanto sou f\u00e3 do IDE.<\/p>\n<p>Mas aqui est\u00e1 a coisa:<\/p>\n<p>Se voc\u00ea \u00e9 um desenvolvedor do WordPress, a depura\u00e7\u00e3o \u00e9 algo que voc\u00ea realmente precisa aprender. Ou seja, n\u00e3o use <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>e <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>se puder ajudar. Use um depurador leg\u00edtimo. Isso o ajudar\u00e1 a pensar como o int\u00e9rprete pensa e o ajudar\u00e1 a aprender um pouco mais sobre o Core.<\/p>\n<p>Agora que estou fora da minha caixa de sab\u00e3o, \u00e9 f\u00e1cil instalar as ferramentas necess\u00e1rias. O artigo assume que voc\u00ea est\u00e1 usando o MAMP Pro (j\u00e1 que \u00e9 isso que eu uso), mas se voc\u00ea tiver acesso ao php.ini, poder\u00e1 acompanhar.<\/p>\n<h2>Xdebug, c\u00f3digo do Visual Studio e configura\u00e7\u00e3o<\/h2>\n<p>Para quem nunca ouviu falar do <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Xdebug<\/a> antes, pense nele como um software que permite pausar seu programa enquanto ele est\u00e1 sendo executado e ver os valores que as vari\u00e1veis \u200b\u200bpossuem, qual m\u00e9todo est\u00e1 sendo executado, a pilha de chamadas e assim por diante .<\/p>\n<p>Voc\u00ea pode ler mais sobre isso <a href=\"https:\/\/xdebug.org\/index.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">na p\u00e1gina inicial<\/a>, mas aqui est\u00e1 a ess\u00eancia:<\/p>\n<blockquote>\n<p>Uma extens\u00e3o PHP para depura\u00e7\u00e3o poderosa. Ele suporta rastreamentos de pilha e fun\u00e7\u00e3o, informa\u00e7\u00f5es de perfil e aloca\u00e7\u00e3o de mem\u00f3ria e an\u00e1lise de execu\u00e7\u00e3o de script.<\/p>\n<\/blockquote>\n<p>Eu sei \u2013 aloca\u00e7\u00e3o de mem\u00f3ria, an\u00e1lise de execu\u00e7\u00e3o de scripts, etc. soa meio chato se voc\u00ea n\u00e3o gosta desse tipo de coisa, mas o valor que voc\u00ea obt\u00e9m ao executar algo assim n\u00e3o pode ser subestimado.<\/p>\n<p>Dito isso, veja como faz\u00ea-lo funcionar com o MAMP e o Visual Studio.<\/p>\n<h3>1 Configurar MAMP Pro<\/h3>\n<p>Por causa dos requisitos b\u00e1sicos do WordPress, vou assumir que voc\u00ea est\u00e1 usando o PHP 5.6.28 (mas as etapas funcionam da mesma forma).<\/p>\n<p>Primeiro, certifique-se de que o Xdebug esteja ativado no painel do <a href=\"https:\/\/www.mamp.info\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MAMP 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 e MAMP\" ><\/a><\/p>\n<p>Em seguida, no menu MAMP Pro, escolha <strong>Editar modelo &gt; PHP 5.6.28<\/strong> e localize a \u00e1rea no arquivo de modelo para a configura\u00e7\u00e3o do PHP onde o Xdebug est\u00e1 localizado:<\/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 e MAMP\" ><\/a><\/p>\n<p>Certifique-se de que fique <a href=\"https:\/\/gist.github.com\/tommcfarlin\/55caa7164a4cf980b21b626533173043#file-00-php-ini\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">assim<\/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>Depois de salv\u00e1-lo, o MAMP Pro pode solicitar que voc\u00ea reinicie. Se for esse o caso, ent\u00e3o fa\u00e7a isso. Mesmo que isso n\u00e3o aconte\u00e7a, eu recomendo certificar-se de que voc\u00ea reinicie.<\/p>\n<h3>2 Configura\u00e7\u00e3o do c\u00f3digo do Visual Studio<\/h3>\n<p>Em seguida, no <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Visual Studio Code<\/a>, navegue at\u00e9 o\u00a0 painel <strong>Extens\u00f5es<\/strong> e procure por <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=felixfbecker.php-debug\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP Debug<\/a>. Instale-o e ative-o.<\/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 e MAMP\" ><\/a><\/p>\n<p>Uma vez feito, pode ser necess\u00e1rio recarregar o IDE. Mesmo que n\u00e3o o incite a faz\u00ea-lo, eu recomendo. A partir da\u00ed, o Xdebug \u00e9 instalado e voc\u00ea est\u00e1 pronto para iniciar a depura\u00e7\u00e3o.<\/p>\n<h2>Como fa\u00e7o para depurar?<\/h2>\n<p>Isso requer um pouco mais de um passo a passo que eu gostaria de compartilhar neste post. Ou seja, este post \u00e9 curto, mas o tempo para configurar as coisas \u00e9 um pouco maior.<\/p>\n<p>Ent\u00e3o, em uma postagem de acompanhamento, mostrarei como depurar alguns de seus pr\u00f3prios c\u00f3digos e voc\u00ea poder\u00e1 v\u00ea-los em a\u00e7\u00e3o.<\/p>\n<p>Voc\u00ea pode lidar com o MAMP normal se incluir informa\u00e7\u00f5es <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\">daqui<\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <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 e Visual Studio Code s\u00e3o duas coisas que podem realmente ajudar seu desenvolvimento ao escrever c\u00f3digo. Veja como configurar o Xdebug no 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":[898,722,846],"tags":[1170],"class_list":["post-229080","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-tutoriais","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=229080"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229080\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223708"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=229080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=229080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=229080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}