{"id":232128,"date":"2023-01-07T09:06:00","date_gmt":"2023-01-07T06:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232128"},"modified":"2023-01-07T11:45:57","modified_gmt":"2023-01-07T08:45:57","slug":"depurando-wordpress-com-ray-parte-2","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/depurando-wordpress-com-ray-parte-2\/","title":{"rendered":"Depurando WordPress com Ray, Parte 2"},"content":{"rendered":"<p><strong>TL;DR:<\/strong> Aqui est\u00e1 outra maneira de come\u00e7ar a depurar o WordPress com Ray usando o Composer em uma base espec\u00edfica do projeto.<\/p>\n<hr \/>\n<p>Na semana passada, <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/depurando-wordpress-com-ray-parte-1\/\" title=\"escrevi uma breve introdu\u00e7\u00e3o sobre o Ray\">escrevi uma breve introdu\u00e7\u00e3o sobre o Ray<\/a>, o que gosto nele e por que gosto de us\u00e1-lo com o WordPress. Tamb\u00e9m dei um breve tutorial de como usar no seu dia-a-dia, mas foi s\u00f3.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158283-61e6db6291814.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-158283-61e6db6291814.png\" alt=\"Depurando WordPress com Ray, Parte 2\"><\/a><\/p>\n<p>Ou seja, como usar o Ray com o WordPress em um fluxo de trabalho baseado no Composer.<\/p>\n<h2>Depurando WordPress com Ray, Parte 2<\/h2>\n<p>Toda a raz\u00e3o para eu escrever isso \u00e9 dupla:<\/p>\n<ol>\n<li>Eu gosto de construir meus plugins WordPress usando o Composer sempre que tenho a oportunidade,<\/li>\n<li>Eu sei que h\u00e1 outros de voc\u00eas que gostam de fazer o mesmo e isso fornecer\u00e1 uma maneira de voc\u00ea come\u00e7ar a faz\u00ea-lo.<\/li>\n<\/ol>\n<h3>Configurando a configura\u00e7\u00e3o do compositor<\/h3>\n<p>Supondo que voc\u00ea tenha o b\u00e1sico do seu <code>composer.json<\/code>arquivo configurado corretamente, voc\u00ea pode adicionar esta linha \u00e0 <code>require-dev<\/code>\u00e1rea do arquivo:<\/p>\n<pre><code>{\n    ...\n    \"require-dev\": {\n        \"spatie\/ray\": \"^1.29.0\"\n    },\n    \"autoload\": {\n        \"psr-4\": {\n            ...\n        }\n    }\n}<\/code><\/pre>\n<p>Em seguida, voc\u00ea pode executar <code>$ composer install<\/code>ou <code>$ composer update<\/code>dependendo do estado do seu projeto.<\/p>\n<p>Isso instalar\u00e1 o Ray no <code>vendor<\/code>diretor do seu plug-in e voc\u00ea poder\u00e1 desativar o plug-in do WordPress discutido no post anterior.<\/p>\n<h3>Usando Ray<\/h3>\n<p>Para usar o Ray, por\u00e9m, voc\u00ea precisar\u00e1 certificar-se de estar usando namespaces e de incluir corretamente uma refer\u00eancia ao namespace de Ray para usar o aplicativo.<\/p>\n<p>Por exemplo:<\/p>\n<pre><code>namespace Acme;\n\nuse SpatieRay;\n\ndefine('WPINC') || die;\nrequire_once __DIR__. '\/vendor\/autoload.php';\n\nray('Loaded...');<\/code><\/pre>\n<p>Obviamente, isso n\u00e3o \u00e9 muito um arquivo de plugin, mas \u00e9 o suficiente para voc\u00ea come\u00e7ar a inclu\u00ed-lo via Composer e execut\u00e1-lo atrav\u00e9s do namespace fornecido pelo pacote.<\/p>\n<h2>Para a parte 3, talvez<\/h2>\n<p>Eu poderia dizer que a seguir, vou falar sobre todas as coisas para as quais voc\u00ea pode usar o Ray em termos de depura\u00e7\u00e3o (ou, mais precisamente, vari\u00e1vel aprimorada e inspe\u00e7\u00e3o de consulta) local ou remotamente, mas o feedback pode exigir algo diferente isto.<\/p>\n<p>Ent\u00e3o esse \u00e9 o plano, mas vamos ver o que acontece entre este artigo e o pr\u00f3ximo.<\/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 outra maneira de come\u00e7ar a depurar o WordPress com Ray usando o Composer em uma base espec\u00edfica do projeto.<\/p>\n","protected":false},"author":1,"featured_media":158284,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,753,722,837,920,785,846,867],"tags":[1170],"class_list":["post-232128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-codigo-aberto","category-desenvolvedor","category-guia-para-iniciantes","category-outro","category-software-livre","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232128","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=232128"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232128\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/158284"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=232128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=232128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=232128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}