{"id":231277,"date":"2023-01-03T10:09:00","date_gmt":"2023-01-03T07:09:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231277"},"modified":"2023-01-03T10:10:56","modified_gmt":"2023-01-03T07:10:56","slug":"napraw-przywolywany-blad-phpcompatibility-sniff","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/napraw-przywolywany-blad-phpcompatibility-sniff\/","title":{"rendered":"Napraw przywo\u0142ywany b\u0142\u0105d PHPCompatibility Sniff"},"content":{"rendered":"\n<p>Istnieje wiele fajnych pakiet\u00f3w, kt\u00f3rych mo\u017cemy u\u017cy\u0107 w naszych projektach opartych na PHP i je\u015bli u\u017cywasz <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/narzedzia-do-pisania-lepszego-kodu-wordpress-kompozytor\/\" title=\"Composer\">Composer<\/a> lub <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/biblioteki-dla-wtyczek-wordpress-czesc-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> to taki, kt\u00f3ry polecam do\u0142\u0105czy\u0107 do twoich projekt\u00f3w, zw\u0142aszcza je\u015bli piszesz kod do czego\u015b, co b\u0119dzie dzia\u0142a\u0107 wiele wersji PHP (czyli na hostach oferuj\u0105cych r\u00f3\u017cne wersje).<\/p>\n<blockquote>\n<p>Jest to zestaw sniff\u00f3w dla <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a>, kt\u00f3ry sprawdza zgodno\u015b\u0107 PHP z r\u00f3\u017cnymi wersjami. Pozwoli Ci to przeanalizowa\u0107 Tw\u00f3j kod pod k\u0105tem kompatybilno\u015bci z wy\u017cszymi i ni\u017cszymi wersjami PHP.<\/p>\n<p><a href=\"https:\/\/github.com\/PHPCompatibility\/PHPCompatibility\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Repozytorium zgodno\u015bci PHP<\/a><\/p>\n<\/blockquote>\n<p>To jest co\u015b, co mo\u017cna zainstalowa\u0107 w kompozytorze i jest to co\u015b, co polecam osobom pisz\u0105cym kod dla WordPressa ze wzgl\u0119du na to, jak wiele r\u00f3\u017cnic istnieje w naszych hostach.<\/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=\"Napraw przywo\u0142ywany b\u0142\u0105d PHPCompatibility Sniff\"><\/a><\/p>\n<p>Czasami jednak mo\u017cesz napotka\u0107 taki <a href=\"https:\/\/gist.github.com\/tommcfarlin\/757d2eee5c7e21cd0bab8f604d0a95d6#file-00-error-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">problem<\/a> :<\/p>\n<pre><code>ERROR: Referenced sniff \"PHPCompatibility\" does not exist<\/code><\/pre>\n<p>A je\u015bli uciekniesz <code>$ phpcs -i<\/code>, mo\u017cesz otrzyma\u0107 niejasn\u0105 wiadomo\u015b\u0107.<\/p>\n<p>W szczeg\u00f3lno\u015bci, je\u015bli uruchomisz to polecenie, mo\u017cesz <a href=\"https:\/\/gist.github.com\/tommcfarlin\/757d2eee5c7e21cd0bab8f604d0a95d6#file-01-php-i-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">zobaczy\u0107 to<\/a> :<\/p>\n<pre><code>The installed coding standards are PEAR, PSR1, Zend, Squiz, PSR12, PSR2, MySource and PHPCompatibility.<\/code><\/pre>\n<p>Dziwne, prawda? Jest jednak prosta poprawka, kt\u00f3ra wi\u0105\u017ce si\u0119 z aktualizacj\u0105 polece\u0144 skrypt\u00f3w poinstalacyjnych i <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/dodawanie-wielu-standardow-kodowania-za-pomoca-composer\/\" title=\"poaktualizacyjnych, kt\u00f3re oferuje Composer\">poaktualizacyjnych, kt\u00f3re oferuje Composer<\/a>.<\/p>\n<p>W tym celu mo\u017cemy zastosowa\u0107 te same techniki, aby zapewni\u0107 prawid\u0142owe dzia\u0142anie PHPCompatibility, je\u015bli kiedykolwiek zobaczysz komunikat. Po prostu zaktualizuj sw\u00f3j <code>composer.json<\/code>, aby wygl\u0105da\u0142 tak:<\/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>Oczywi\u015bcie Tw\u00f3j przebieg b\u0119dzie si\u0119 r\u00f3\u017cni\u0107 w zale\u017cno\u015bci od rzeczywistej konfiguracji, ale istota polece\u0144 powinna rozwi\u0105za\u0107 problem.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oto spos\u00f3b na naprawienie b\u0142\u0119du \u201eodwo\u0142uj\u0105cego si\u0119 do PHPCompatibility sniff\u201d, kt\u00f3ry mo\u017cesz zobaczy\u0107 podczas uruchamiania biblioteki w kodzie.<\/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":[721,919,897,773,784,752,805,845],"tags":[1169],"class_list":["post-231277","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-inny","category-kod","category-kontrola-zrodla","category-oprogramowanie-open-source","category-otwarte-zrodlo","category-php-7","category-samouczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=231277"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231277\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/236933"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=231277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=231277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=231277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}