{"id":231784,"date":"2022-12-29T11:53:00","date_gmt":"2022-12-29T08:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231784"},"modified":"2022-11-10T05:12:23","modified_gmt":"2022-11-10T02:12:23","slug":"adicionando-varios-padroes-de-codificacao-com-o-composer","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/adicionando-varios-padroes-de-codificacao-com-o-composer\/","title":{"rendered":"Adicionando v\u00e1rios padr\u00f5es de codifica\u00e7\u00e3o com o Composer"},"content":{"rendered":"<p>Uma coisa \u00e9 usar o <a href=\"https:\/\/tommcfarlin.com\/php-codesniffer-in-visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> manualmente, mas se voc\u00ea estiver usando um utilit\u00e1rio como o <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> para verificar seu trabalho antes de envi\u00e1-lo ao reposit\u00f3rio, provavelmente desejar\u00e1 usar a vers\u00e3o que est\u00e1 instalando com seu projeto.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-159611-61e6f8881ef53.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-159611-61e6f8881ef53.png\" alt=\"Adicionando v\u00e1rios padr\u00f5es de codifica\u00e7\u00e3o com o Composer\" ><\/a><\/p>\n<p>Isso pressup\u00f5e que:<\/p>\n<ol>\n<li>Voc\u00ea est\u00e1 instalando o PHP CodeSniffer local em seu projeto,<\/li>\n<li>Voc\u00ea deseja instalar um conjunto espec\u00edfico de padr\u00f5es de codifica\u00e7\u00e3o para executar em seu c\u00f3digo.<\/li>\n<\/ol>\n<p>Lembre-se, isso tamb\u00e9m \u00e9 feito no contexto de querer executar scripts automatizados durante o processo de confirma\u00e7\u00e3o e em um ambiente local (versus uma configura\u00e7\u00e3o global) com o Composer.<\/p>\n<p>O Composer oferece a capacidade de escrever scripts durante a execu\u00e7\u00e3o. <a href=\"https:\/\/getcomposer.org\/doc\/articles\/scripts.md\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Do manual<\/a> :<\/p>\n<blockquote>\n<p>Um script, nos termos do Composer, pode ser um retorno de chamada PHP (definido como um m\u00e9todo est\u00e1tico) ou qualquer comando execut\u00e1vel de linha de comando. Os scripts s\u00e3o \u00fateis para executar o c\u00f3digo personalizado de um pacote ou comandos espec\u00edficos do pacote durante o processo de execu\u00e7\u00e3o do Composer.<\/p>\n<\/blockquote>\n<p>Para instalar v\u00e1rios padr\u00f5es de codifica\u00e7\u00e3o com o Composer para que possamos fazer o que fazemos com o GrumPHP e qualquer processo de pr\u00e9-commit, precisamos aproveitar os scripts <strong>pre-install-cmd<\/strong> e <strong>pre-update-cmd .<\/strong> Fazer isso garantir\u00e1 que os padr\u00f5es de codifica\u00e7\u00e3o adequados sejam definidos para o bin\u00e1rio de n\u00edvel de projeto do PHP CodeSniffer.<\/p>\n<p><a href=\"https:\/\/gist.github.com\/tommcfarlin\/e58bd797d53cdaeb659a2e09db0b5725#file-00-add-php-cs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Caso em quest\u00e3o<\/a> :<\/p>\n<pre><code>\"scripts\": {\n    \"post-install-cmd\": [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress\"\n    ],\n    \"post-update-cmd\":  [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress\"\n    ],\n},<\/code><\/pre>\n<p>Observe que no exemplo acima, estou me certificando de adicionar os padr\u00f5es de codifica\u00e7\u00e3o do WordPress ao PHP CodeSniffer.<\/p>\n<p>Mas voc\u00ea pode adicionar v\u00e1rias vers\u00f5es de padr\u00f5es de codifica\u00e7\u00e3o, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e58bd797d53cdaeb659a2e09db0b5725#file-01-add-php-cs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">como este:<\/a><\/p>\n<pre><code>\"scripts\": {\n    \"post-install-cmd\": [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-Core,\/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-VIP\"\n    ],\n    \"post-update-cmd\":  [\n        \"\"vendor\/bin\/phpcs\" --config-set installed_paths \/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-Core,\/Users\/tommcfarlin\/Sync\/Projects\/wpcs\/WordPress-VIP\"\n    ],\n},<\/code><\/pre>\n<p>E voc\u00ea pode adicionar quaisquer outros padr\u00f5es que voc\u00ea tenha permitindo que voc\u00ea aponte o script no local apropriado de onde eles est\u00e3o instalados.<\/p>\n<p>Depois de fazer isso, os padr\u00f5es ser\u00e3o aplicados ao PHP CodeSniffer e ser\u00e3o executados durante os processos de <strong>instala\u00e7\u00e3o<\/strong> e <strong>atualiza\u00e7\u00e3o<\/strong> do Composer.<\/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>Para instalar v\u00e1rios padr\u00f5es de codifica\u00e7\u00e3o com o Composer, precisamos aproveitar os scripts pre-install-cmd e pre-update-cmd.<\/p>\n","protected":false},"author":1,"featured_media":223641,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,753,722,806,785,846],"tags":[1170],"class_list":["post-231784","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-codigo-aberto","category-desenvolvedor","category-php-8","category-software-livre","category-tutoriais","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231784","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=231784"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231784\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223641"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=231784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=231784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=231784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}