{"id":231140,"date":"2022-12-29T12:06:00","date_gmt":"2022-12-29T09:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231140"},"modified":"2022-12-25T22:16:42","modified_gmt":"2022-12-25T19:16:42","slug":"dodawanie-wielu-standardow-kodowania-za-pomoca-composer","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/dodawanie-wielu-standardow-kodowania-za-pomoca-composer\/","title":{"rendered":"Dodawanie wielu standard\u00f3w kodowania za pomoc\u0105 Composer"},"content":{"rendered":"\n<p>R\u0119czne u\u017cywanie <a href=\"https:\/\/tommcfarlin.com\/php-codesniffer-in-visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> to jedno, ale je\u015bli u\u017cywasz narz\u0119dzia takiego jak <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> do sprawdzania swojej pracy przed przekazaniem jej do repozytorium, prawdopodobnie b\u0119dziesz chcia\u0142 u\u017cy\u0107 wersji, kt\u00f3r\u0105 instalujesz z projekt.<\/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=\"Dodawanie wielu standard\u00f3w kodowania za pomoc\u0105 Composer\" ><\/a><\/p>\n<p>Zak\u0142ada si\u0119, \u017ce:<\/p>\n<ol>\n<li>Instalujesz PHP CodeSniffer lokalnie w swoim projekcie,<\/li>\n<li>Chcesz zainstalowa\u0107 okre\u015blony zestaw standard\u00f3w kodowania, kt\u00f3ry b\u0119dzie dzia\u0142a\u0142 w Twoim kodzie.<\/li>\n<\/ol>\n<p>Pami\u0119taj, \u017ce jest to r\u00f3wnie\u017c robione w kontek\u015bcie ch\u0119ci uruchamiania automatycznych skrypt\u00f3w podczas procesu zatwierdzania oraz w \u015brodowisku lokalnym (w przeciwie\u0144stwie do ustawie\u0144 globalnych) za pomoc\u0105 Composera.<\/p>\n<p>Composer oferuje mo\u017cliwo\u015b\u0107 pisania skrypt\u00f3w podczas wykonywania. <a href=\"https:\/\/getcomposer.org\/doc\/articles\/scripts.md\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Z instrukcji<\/a> :<\/p>\n<blockquote>\n<p>Skrypt, w terminologii Composera, mo\u017ce by\u0107 wywo\u0142aniem zwrotnym PHP (zdefiniowanym jako metoda statyczna) lub dowolnym poleceniem wykonywalnym z wiersza polece\u0144. Skrypty s\u0105 przydatne do wykonywania niestandardowego kodu pakietu lub polece\u0144 specyficznych dla pakietu podczas procesu wykonywania programu Composer.<\/p>\n<\/blockquote>\n<p>Aby zainstalowa\u0107 wiele standard\u00f3w kodowania za pomoc\u0105 Composera, aby\u015bmy mogli robi\u0107 to, co my z GrumPHP i dowolnym procesem wst\u0119pnego zatwierdzania, musimy skorzysta\u0107 ze skrypt\u00f3w <strong>pre-install-cmd<\/strong> i <strong>pre-update-cmd<\/strong>. W ten spos\u00f3b zapewnisz, \u017ce odpowiednie standardy kodowania zostan\u0105 ustawione dla pliku binarnego PHP CodeSniffer na poziomie projektu.<\/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\">Przyk\u0142ad<\/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>Zauwa\u017c, \u017ce w powy\u017cszym przyk\u0142adzie upewniam si\u0119, \u017ce dodam standardy kodowania WordPress do PHP CodeSniffer.<\/p>\n<p>Ale mo\u017cesz doda\u0107 wiele wersji standard\u00f3w kodowania, na <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e58bd797d53cdaeb659a2e09db0b5725#file-01-add-php-cs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">przyk\u0142ad:<\/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>Mo\u017cesz te\u017c doda\u0107 dowolne inne standardy, kt\u00f3re pozwalaj\u0105 na skierowanie skryptu we w\u0142a\u015bciwe miejsce, w kt\u00f3rym s\u0105 zainstalowane.<\/p>\n<p>Gdy to zrobisz, standardy zostan\u0105 zastosowane do PHP CodeSniffer i b\u0119d\u0105 wykonywane zar\u00f3wno podczas <strong>instalacji<\/strong>, jak i <strong>aktualizacji<\/strong> Composera.<\/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>Aby zainstalowa\u0107 wiele standard\u00f3w kodowania za pomoc\u0105 Composera, musimy skorzysta\u0107 ze skrypt\u00f3w pre-install-cmd i 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":[721,897,784,752,805,845],"tags":[1169],"class_list":["post-231140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-kod","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\/231140","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=231140"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231140\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/223641"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=231140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=231140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=231140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}