{"id":230367,"date":"2022-11-25T20:24:00","date_gmt":"2022-11-25T17:24:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230367"},"modified":"2022-11-25T20:26:57","modified_gmt":"2022-11-25T17:26:57","slug":"usando-padroes-de-codificacao-php-no-codigo-do-visual-studio","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/usando-padroes-de-codificacao-php-no-codigo-do-visual-studio\/","title":{"rendered":"Usando padr\u00f5es de codifica\u00e7\u00e3o PHP no c\u00f3digo do Visual Studio"},"content":{"rendered":"\n<p>Portanto, temos o b\u00e1sico configurado no Visual Studio Code configurado, mas n\u00e3o temos nenhuma ferramenta pr\u00e1tica instalada para nos ajudar com o lado profissional da escrita de c\u00f3digo.<\/p>\n<p>Claro, &quot;profissional&quot; pode ser definido com base na empresa, equipe ou ambiente em que voc\u00ea est\u00e1 trabalhando. Para esta s\u00e9rie, optei por usar o WordPress como base. Mas isso ainda deixa coisas como:<\/p>\n<ul>\n<li>padr\u00f5es de codifica\u00e7\u00e3o,<\/li>\n<li>linting JavaScript,<\/li>\n<li>gerenciamento de pacotes,<\/li>\n<li>E assim por diante.<\/li>\n<\/ul>\n<p>E ao longo da s\u00e9rie, vou cobrir tudo listado acima. Mas para fazer isso, vou cobrir cada componente um por um.<\/p>\n<p>O post de hoje vai focar nos padr\u00f5es de codifica\u00e7\u00e3o PHP. Escrevi bastante material sobre os Padr\u00f5es de Codifica\u00e7\u00e3o do WordPress, mas no \u00faltimo ano ou mais, comecei a trabalhar mais com PSR, e \u00e9 isso que ser\u00e1 abordado neste post.<\/p>\n<p>Como uma nota lateral, saiba que muito do que \u00e9 abordado pode ser traduzido para os Padr\u00f5es de Codifica\u00e7\u00e3o do WordPress, se voc\u00ea assim o desejar, e ficar\u00e1 claro onde voc\u00ea faria as altera\u00e7\u00f5es.<\/p>\n<p>Dito isso, vamos come\u00e7ar.<\/p>\n<h2>Padr\u00e3o de codifica\u00e7\u00e3o PHP no c\u00f3digo do Visual Studio<\/h2>\n<p>Primeiro, verifique se voc\u00ea possui os pr\u00e9-requisitos, todos abordados nas postagens anteriores desta s\u00e9rie. Nomeadamente:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/um-ide-para-desenvolvimento-wordpress-independentemente-da-experiencia\/\" title=\"Um IDE para desenvolvimento WordPress\">Um IDE para desenvolvimento WordPress<\/a><\/li>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/trabalhando-com-configuracoes-de-usuario-no-visual-studio-code\/\" title=\"Trabalhando com configura\u00e7\u00f5es de usu\u00e1rio no Visual Studio Code\">Trabalhando com configura\u00e7\u00f5es de usu\u00e1rio no Visual Studio Code<\/a><\/strong><\/li>\n<\/ol>\n<p>Cada um dos itens acima mostra como configurar, configurar e gerenciar o Visual Studio Code e as no\u00e7\u00f5es b\u00e1sicas de compreens\u00e3o das configura\u00e7\u00f5es do usu\u00e1rio (juntamente com as fontes preferidas e similares).<\/p>\n<p>E com isso, \u00e9 hora de instalar suporte para code sniffing e regras para estilos de codifica\u00e7\u00e3o PHP baseados em <strong><a href=\"https:\/\/www.php-fig.org\/psr\/psr-2\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PSR-2<\/a><\/strong>.<\/p>\n<p>[restringir pago=&quot;verdadeiro&#8221;]<\/p>\n<p>Antes de informar ao Code que voc\u00ea deseja usar esse conjunto espec\u00edfico de regras, h\u00e1 algumas coisas que voc\u00ea pode adicionar ao seu arquivo de configura\u00e7\u00f5es.<\/p>\n<h3>1 Uma atualiza\u00e7\u00e3o para suas configura\u00e7\u00f5es de usu\u00e1rio<\/h3>\n<p>Lembre-se, para fazer uma atualiza\u00e7\u00e3o nas suas Configura\u00e7\u00f5es de Usu\u00e1rio, basta clicar em <strong>C\u00f3digo<\/strong> e depois navegar at\u00e9 <strong>Configura\u00e7\u00f5es<\/strong>, ou voc\u00ea pode usar o atalho <strong>Cmd+,<\/strong> (ou o equivalente em seu sistema operacional).<\/p>\n<p>Isso abrir\u00e1 uma janela familiar:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e7651f87631.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-164430-61e7651f87631.png\" alt=\"Usando padr\u00f5es de codifica\u00e7\u00e3o PHP no c\u00f3digo do Visual Studio\"><\/a><\/p>\n<p>Em seguida, emita o seguinte comando no seu terminal:<\/p>\n<pre><code>$ brew install php-code-sniffer<\/code><\/pre>\n<p>Observe que, quando fa\u00e7o isso, j\u00e1 o tenho instalado, mas sou solicitado a atualizar (assim tenho).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e76523859b2.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-164430-61e76523859b2.png\" alt=\"Usando padr\u00f5es de codifica\u00e7\u00e3o PHP no c\u00f3digo do Visual Studio\"><\/a><\/p>\n<p>E dentro dele, voc\u00ea pode adicionar <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/0631fb0f5d276d49d015bb4acc1ea500#file-00-user-settings-for-php-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">as seguintes linhas<\/a><\/strong> ao seu arquivo de configura\u00e7\u00f5es do usu\u00e1rio:<\/p>\n<pre><code>{\n  \/\/ ...\n\n  \/\/ PHP Settings.\n  \"php.suggest.basic\": true,\n  \"php.validate.executablePath\": \"\/usr\/local\/bin\/php\",\n  \"php.validate.run\": \"onSave\",\n\n  \/\/ ...\n}<\/code><\/pre>\n<p>Se voc\u00ea n\u00e3o tiver certeza do caminho para a instala\u00e7\u00e3o local do PHP, execute o seguinte comando no seu terminal:<\/p>\n<pre><code>$ which php<\/code><\/pre>\n<p>Veja o que cada linha descreve:<\/p>\n<ol>\n<li><strong>php.suggest.basic.<\/strong> Isso controla se o IDE far\u00e1 ou n\u00e3o sugest\u00f5es de c\u00f3digo baseado em PHP por conta pr\u00f3pria (o que \u00e9 \u00fatil ao escrever c\u00f3digo). Pense nisso como preenchimento autom\u00e1tico, uma espiada na API ou como seus IDEs atuais ou anteriores possam cham\u00e1-lo.<\/li>\n<li><strong>php.validate.executablePath.<\/strong> Isso simplesmente faz refer\u00eancia ao bin\u00e1rio PHP no disco. Isso \u00e9 \u00fatil para que ele execute a vers\u00e3o do PHP em que seus projetos est\u00e3o sendo executados.<\/li>\n<li><strong>php.validate.run.<\/strong> Como voc\u00ea pode esperar, isso validar\u00e1 seu c\u00f3digo quando voc\u00ea salvar seu arquivo. Voc\u00ea pode faz\u00ea-lo enquanto digita, mas dependendo de quanto voc\u00ea est\u00e1 digitando, qu\u00e3o r\u00e1pido voc\u00ea est\u00e1 digitando ou apenas a natureza de seus h\u00e1bitos, pode ser mais f\u00e1cil faz\u00ea-lo em <strong>Salvar<\/strong> (da\u00ed por que eu o uso em vez da alternativa que \u00e9 <strong>onType<\/strong> ).<\/li>\n<\/ol>\n<p>Tudo isso \u00e9 bom e necess\u00e1rio, na minha opini\u00e3o, mas n\u00e3o nos faz farejar nenhum c\u00f3digo. Ent\u00e3o vamos voltar nossa aten\u00e7\u00e3o para isso agora.<\/p>\n<h3>2 Adicionando Sniffing de C\u00f3digo<\/h3>\n<p>Lembre-se da se\u00e7\u00e3o anterior, fui em frente e instalei o PHP Code Sniffer via Homebrew, mas como adicionamos suporte a isso via Visual Studio Code?<\/p>\n<p>Quero dizer, ele tem seu pr\u00f3prio mercado onde podemos adicion\u00e1-lo, mas h\u00e1 outras coisas que podemos fazer? Como o instalamos via Homebrew, est\u00e1 feito.<\/p>\n<p>Agora \u00e9 uma quest\u00e3o de vincul\u00e1-lo ao C\u00f3digo. Isso \u00e9 uma quest\u00e3o de fazer duas coisas:<\/p>\n<ol>\n<li>Instalando um plugin no Code,<\/li>\n<li>Atualizando suas configura\u00e7\u00f5es de usu\u00e1rio (mais uma vez).<\/li>\n<\/ol>\n<p>Primeiro, navegue at\u00e9 a tela de plugins em Code e procure por <strong>phpcs<\/strong>. Voc\u00ea deve ver algo como o seguinte:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e7652770779.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-164430-61e7652770779.png\" alt=\"Usando padr\u00f5es de codifica\u00e7\u00e3o PHP no c\u00f3digo do Visual Studio\"><\/a><\/p>\n<p>Clique em <strong>Instalar<\/strong> e depois em <strong>Recarregar<\/strong> se for solicitado.<\/p>\n<p>Em seguida, revisitamos novamente nosso arquivo de configura\u00e7\u00f5es <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/0631fb0f5d276d49d015bb4acc1ea500#file-01-user-settings-for-phpcs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">e adicionamos o seguinte:<\/a><\/strong><\/p>\n<pre><code>{\n  \/\/ ...\n\n  \/\/ PHP Coding Standards.\n  \"phpcs.enable\": true,\n  \"phpcs.executablePath\": \"\/usr\/local\/bin\/phpcs\",\n  \"phpcs.standard\": \"PSR2\"\n\n  \/\/ ...\n}<\/code><\/pre>\n<p>Neste ponto, voc\u00ea concluiu completamente a configura\u00e7\u00e3o dos padr\u00f5es de codifica\u00e7\u00e3o PHP PSR-2 com o Visual Studio Code.<\/p>\n<h3>3 Agora teste<\/h3>\n<p>Para ver se tudo funciona corretamente, abra qualquer arquivo PHP \u2013 seja um de um projeto no qual voc\u00ea est\u00e1 trabalhando ou um do n\u00facleo do WordPress. Abra o terminal integrado. Como o n\u00facleo do WordPress n\u00e3o segue o PSR-2, \u00e9 prov\u00e1vel que voc\u00ea veja muitos erros.<\/p>\n<p>Confira a guia <strong>Problemas<\/strong> no terminal e observe:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164430-61e7652c067ab.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-164430-61e7652c067ab.png\" alt=\"Usando padr\u00f5es de codifica\u00e7\u00e3o PHP no c\u00f3digo do Visual Studio\"><\/a><\/p>\n<p>Claro, isso n\u00e3o \u00e9 para castigar o WordPress. Em vez disso, serve para mostrar que quando voc\u00ea v\u00ea um problema vindo do PHP Code Sniffer, voc\u00ea pode corrigi-lo antes de salvar o arquivo, concluir o arquivo ou enviar o arquivo para o reposit\u00f3rio.<\/p>\n<h2>E o trabalho front-end?<\/h2>\n<p>Por mais importante que seja garantir que nosso c\u00f3digo esteja de acordo com a qualidade adequada do trabalho do lado do servidor, que tal CSS (ou Sass ou LESS) ou JavaScript?<\/p>\n<p>Tamb\u00e9m existem ferramentas espec\u00edficas para isso, e vamos retomar a cobertura desse material no pr\u00f3ximo post.<\/p>\n<p>Por enquanto, concentre-se em configurar os padr\u00f5es de codifica\u00e7\u00e3o PHP no c\u00f3digo, confira o que voc\u00ea pode fazer melhor para melhorar seus estilos e partiremos da\u00ed.<\/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, abordarei como usar o Homebrew para instalar as bibliotecas necess\u00e1rias para o PHP Code Sniffer e as regras do PSR-2 em execu\u00e7\u00e3o no Visual Studio Code.<\/p>\n","protected":false},"author":1,"featured_media":236519,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[722,846,1069],"tags":[1170],"class_list":["post-230367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-tutoriais","category-um-computador","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230367","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=230367"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230367\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/236519"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}