{"id":231926,"date":"2023-01-03T09:40:00","date_gmt":"2023-01-03T06:40:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231926"},"modified":"2023-01-03T09:40:56","modified_gmt":"2023-01-03T06:40:56","slug":"corrigir-o-erro-de-sniff-de-compatibilidade-php-referenciado","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/corrigir-o-erro-de-sniff-de-compatibilidade-php-referenciado\/","title":{"rendered":"Corrigir o erro de sniff de compatibilidade PHP referenciado"},"content":{"rendered":"<p>Existem muitos pacotes legais que podemos usar em nossos projetos baseados em PHP e se voc\u00ea estiver usando <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/ferramentas-para-escrever-um-codigo-wordpress-melhor-composer\/\" title=\"Composer\">Composer<\/a> ou <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/bibliotecas-para-plugins-do-wordpress-parte-1\/\" title=\"GrumPHP\">GrumPHP<\/a>, <a href=\"https:\/\/github.com\/PHPCompatibility\/PHPCompatibility#installation-in-a-composer-project-method-1\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPCompatibility<\/a> \u00e9 um que eu recomendo incluir em seus projetos, especialmente se voc\u00ea estiver escrevendo c\u00f3digo para algo que ser\u00e1 executado m\u00faltiplas vers\u00f5es do PHP (ou seja, em hosts que oferecem vers\u00f5es diferentes).<\/p>\n<blockquote>\n<p>Este \u00e9 um conjunto de sniffs para <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> que verifica a compatibilidade entre vers\u00f5es do PHP. Ele permitir\u00e1 que voc\u00ea analise seu c\u00f3digo para compatibilidade com vers\u00f5es superiores e inferiores do PHP.<\/p>\n<p><a href=\"https:\/\/github.com\/PHPCompatibility\/PHPCompatibility\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Reposit\u00f3rio de Compatibilidade PHP<\/a><\/p>\n<\/blockquote>\n<p>Isso \u00e9 algo que deve ser instalado dentro do composer e \u00e9 algo que eu recomendo para as pessoas que escrevem c\u00f3digo para o WordPress por causa da quantidade de varia\u00e7\u00e3o que existe em nossos hosts.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158977-61e6ea08c4f9f.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-158977-61e6ea08c4f9f.png\" alt=\"Corrigir o erro de sniff de compatibilidade PHP referenciado\"><\/a><\/p>\n<p>Ocasionalmente, por\u00e9m, voc\u00ea pode ver um problema <a href=\"https:\/\/gist.github.com\/tommcfarlin\/757d2eee5c7e21cd0bab8f604d0a95d6#file-00-error-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">como este<\/a> :<\/p>\n<pre><code>ERROR: Referenced sniff \"PHPCompatibility\" does not exist<\/code><\/pre>\n<p>E se voc\u00ea executar <code>$ phpcs -i<\/code>, poder\u00e1 receber uma mensagem que n\u00e3o est\u00e1 clara.<\/p>\n<p>Especificamente, se voc\u00ea executar esse comando, poder\u00e1 <a href=\"https:\/\/gist.github.com\/tommcfarlin\/757d2eee5c7e21cd0bab8f604d0a95d6#file-01-php-i-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ver isto<\/a> :<\/p>\n<pre><code>The installed coding standards are PEAR, PSR1, Zend, Squiz, PSR12, PSR2, MySource and PHPCompatibility.<\/code><\/pre>\n<p>Estranho, certo? Mas h\u00e1 uma corre\u00e7\u00e3o simples e tem a ver com a atualiza\u00e7\u00e3o dos <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/adicionando-varios-padroes-de-codificacao-com-o-composer\/\" title=\"comandos de script p\u00f3s-instala\u00e7\u00e3o e p\u00f3s-atualiza\u00e7\u00e3o que o Composer oferece\">comandos de script p\u00f3s-instala\u00e7\u00e3o e p\u00f3s-atualiza\u00e7\u00e3o que o Composer oferece<\/a>.<\/p>\n<p>Para esse fim, podemos empregar as mesmas t\u00e9cnicas para garantir que o PHPCompatibility funcione corretamente se voc\u00ea vir a mensagem. Basta atualizar o seu <code>composer.json<\/code>para ficar assim:<\/p>\n<pre><code>\"require-dev\": {\n  \"phpcompatibility\/php-compatibility\": \"*\"\n},\n\"prefer-stable\": true,\n\"scripts\": {\n  \"post-install-cmd\": \"\"vendor\/bin\/phpcs\" --config-set installed_paths vendor\/phpcompatibility\/php-compatibility\",\n  \"post-update-cmd\": \"\"vendor\/bin\/phpcs\" --config-set installed_paths vendor\/phpcompatibility\/php-compatibility\"\n}<\/code><\/pre>\n<p>Claro, sua milhagem ir\u00e1 variar dependendo da sua configura\u00e7\u00e3o real, mas a ess\u00eancia dos comandos deve resolver o problema.<\/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 uma maneira de corrigir o erro \u201creferenciado PHPCompatibility sniff\u201d que voc\u00ea pode ver ao executar a biblioteca em seu c\u00f3digo.<\/p>\n","protected":false},"author":1,"featured_media":236933,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,753,722,774,920,806,785,846],"tags":[1170],"class_list":["post-231926","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-codigo-aberto","category-desenvolvedor","category-fonte-de-controle","category-outro","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\/231926","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=231926"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231926\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/236933"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=231926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=231926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=231926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}