{"id":229674,"date":"2022-11-07T09:51:00","date_gmt":"2022-11-07T06:51:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229674"},"modified":"2022-11-09T15:53:29","modified_gmt":"2022-11-09T12:53:29","slug":"usando-xdebug-com-valet-e-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/usando-xdebug-com-valet-e-wordpress\/","title":{"rendered":"Usando Xdebug com Valet e WordPress"},"content":{"rendered":"\n<p>Embora eu n\u00e3o seja f\u00e3 de usar estritamente\u00a0 instru\u00e7\u00f5es <a href=\"https:\/\/php.net\/manual\/en\/function.var-dump.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">var_dump<\/a> ou <a href=\"https:\/\/php.net\/manual\/en\/function.echo.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">echo<\/a> como forma de depurar c\u00f3digo, isso n\u00e3o significa que n\u00e3o haja momentos em que elas sejam \u00fateis (caso contr\u00e1rio, elas n\u00e3o fariam parte da linguagem, certo ?).<\/p>\n<p>Mas e se voc\u00ea estiver usando o <a href=\"https:\/\/laravel.com\/docs\/5.4\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Valet<\/a> (que \u00e9 <a href=\"https:\/\/tommcfarlin.com\/laravel-valet-for-wordpress\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">f\u00e1cil de configurar<\/a> para o WordPress) e estiver tentando exibir uma matriz multidimensional e, em vez de obter uma sa\u00edda bem formatada, acabar recebendo uma longa linha de texto no Times New Romano? As probabilidades s\u00e3o de que isso ocorre porque voc\u00ea n\u00e3o possui o <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Xdebug.<\/a><\/p>\n<p>\u00c9 bastante f\u00e1cil de fazer, mas \u00e9 baseado em algumas coisas diferentes. Al\u00e9m disso, depois de instalar o Xdebug, voc\u00ea tamb\u00e9m poder\u00e1 usar um depurador com seu c\u00f3digo. Esse n\u00e3o \u00e9 o objetivo deste post, no entanto. \ud83d\ude42<\/p>\n<p>Obter toda essa configura\u00e7\u00e3o \u00e9 bastante f\u00e1cil, mas pressup\u00f5e o seguinte:<\/p>\n<ol>\n<li>Voc\u00ea tem todas as constantes necess\u00e1rias configuradas para depura\u00e7\u00e3o do WordPress,<\/li>\n<li>Voc\u00ea tem o Homebrew instalado em sua m\u00e1quina,<\/li>\n<li>Voc\u00ea se sente confort\u00e1vel editando um arquivo de texto (tecnicamente, um arquivo de inicializa\u00e7\u00e3o para o Xdebug, mas mesmo assim texto)<\/li>\n<li>Voc\u00ea est\u00e1 bem reiniciando com manobrista.<\/li>\n<\/ol>\n<p>Para ter certeza de que voc\u00ea configurou o WordPress para mostrar corretamente as mensagens de depura\u00e7\u00e3o, certifique-se de que <strong>wp-config.php<\/strong> (ou qualquer arquivo que mantenha suas constantes) tenha <a href=\"https:\/\/gist.github.com\/tommcfarlin\/0402a835d31c3e0a98260a88a527ce5e#file-00-wp-debug-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o seguinte<\/a> :<\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\n<\/code><\/pre>\n<p>Observe que existem <a href=\"https:\/\/codex.wordpress.org\/Debugging_in_WordPress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">outras constantes que voc\u00ea pode usar<\/a>, mas essas s\u00e3o duas que normalmente sou f\u00e3 de incluir no m\u00ednimo.<\/p>\n<\/p>\n<p>A partir da\u00ed, instale o Homebrew. \u00c9 t\u00e3o f\u00e1cil quanto o comando a seguir, mas recomendo ler <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/homebrew-node-e-gulp-para-desenvolvimento-wordpress\/\" title=\"este artigo\">este artigo<\/a> e <a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">a p\u00e1gina inicial<\/a> antes de execut\u00e1-lo:<\/p>\n<pre><code>\/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/pre>\n<p>Uma vez feito, voc\u00ea precisar\u00e1 instalar o Xdebug. Isso pressup\u00f5e que voc\u00ea esteja executando o PHP 7.1. Caso contr\u00e1rio, voc\u00ea precisar\u00e1 instalar o pacote correto para sua vers\u00e3o do PHP. Mas supondo que isso seja preciso, emita o seguinte em seu terminal:<\/p>\n<pre><code>$ brew install php71-xdebug<\/code><\/pre>\n<p>Quando o Homebrew estiver pronto, use um editor de texto para carregar o arquivo de configura\u00e7\u00e3o do Xdebug. Para fazer isso, solte a seguinte linha no seu terminal:<\/p>\n<pre><code>$ atom \/usr\/local\/etc\/php\/7.1\/conf.d\/ext-xdebug.ini<\/code><\/pre>\n<p>Em seguida, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/0402a835d31c3e0a98260a88a527ce5e#file-01-ext-xdebug-init\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">adicione as seguintes linhas<\/a> :<\/p>\n<pre><code>[xdebug]\nzend_extension=\"\/usr\/local\/opt\/php71-xdebug\/xdebug.so\"\nxdebug.remote_enable=true\nxdebug.remote_host=localhost\nxdebug.remote_port=9000\nxdebug.remote_handler=dbgp<\/code><\/pre>\n<p>Isso configurar\u00e1 o Xdebug, para que a sa\u00edda do navegador seja leg\u00edvel e para que voc\u00ea possa usar coisas como o Xdebug para depurar seu c\u00f3digo. Depois disso, para aproveitar o Xdebug com Valet e WordPress, voc\u00ea precisar\u00e1 reiniciar o Valet:<\/p>\n<pre><code>$ valet restart<\/code><\/pre>\n<p>E uma vez feito, voc\u00ea deve estar pronto para ir.<\/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>Aqui est\u00e1 tudo o que voc\u00ea precisa saber para come\u00e7ar a usar o Xdebug com Valet e WordPress para que voc\u00ea possa ter uma sa\u00edda decente e depurar seus projetos.<\/p>\n","protected":false},"author":1,"featured_media":166329,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,837,867],"tags":[1170],"class_list":["post-229674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-guia-para-iniciantes","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229674","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=229674"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229674\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/166329"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=229674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=229674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=229674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}