{"id":229686,"date":"2022-11-25T20:13:00","date_gmt":"2022-11-25T17:13:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229686"},"modified":"2022-11-25T20:35:47","modified_gmt":"2022-11-25T17:35:47","slug":"korzystanie-ze-standardow-kodowania-php-w-visual-studio-code","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/korzystanie-ze-standardow-kodowania-php-w-visual-studio-code\/","title":{"rendered":"Korzystanie ze standard\u00f3w kodowania PHP w Visual Studio Code"},"content":{"rendered":"\n<p>Mamy wi\u0119c podstawy skonfigurowane w konfiguracji Visual Studio Code, ale nie mamy zainstalowanych \u017cadnych praktycznych narz\u0119dzi, kt\u00f3re pomog\u0105 nam w bardziej profesjonalnej stronie pisania kodu.<\/p>\n<p>Oczywi\u015bcie \u201eprofesjonalny&quot; mo\u017cna zdefiniowa\u0107 na podstawie firmy, zespo\u0142u lub \u015brodowiska, w kt\u00f3rym pracujesz. W przypadku tej serii wybra\u0142em WordPress jako podstaw\u0119. Ale to nadal pozostawia takie rzeczy, jak:<\/p>\n<ul>\n<li>standardy kodowania,<\/li>\n<li>linting JavaScript,<\/li>\n<li>zarz\u0105dzanie pakietami,<\/li>\n<li>I tak dalej.<\/li>\n<\/ul>\n<p>W ca\u0142ej serii zamierzam om\u00f3wi\u0107 wszystko wymienione powy\u017cej. Ale \u017ceby to zrobi\u0107, om\u00f3wi\u0119 ka\u017cdy komponent jeden po drugim.<\/p>\n<p>Dzisiejszy post skupi si\u0119 na standardach kodowania PHP. Napisa\u0142em wiele materia\u0142\u00f3w dotycz\u0105cych Standard\u00f3w Kodowania WordPressa, ale w ci\u0105gu ostatniego roku lub wi\u0119cej zacz\u0105\u0142em wi\u0119cej pracowa\u0107 z PSR, i to w\u0142a\u015bnie zostanie om\u00f3wione w tym po\u015bcie.<\/p>\n<p>Na marginesie, wiedz, \u017ce wiele z tego, co om\u00f3wiono, mo\u017cna przet\u0142umaczy\u0107 na standardy kodowania WordPress, je\u015bli tak zdecydujesz, i b\u0119dzie jasne, gdzie wprowadzi\u0107 zmiany.<\/p>\n<p>Powiedziawszy to, zacznijmy.<\/p>\n<h2>Standard kodowania PHP w Visual Studio Code<\/h2>\n<p>Po pierwsze, upewnij si\u0119, \u017ce spe\u0142niasz wymagania wst\u0119pne, z kt\u00f3rych wszystkie zosta\u0142y om\u00f3wione w poprzednich postach z tej serii. Mianowicie:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/pl\/ide-do-programowania-wordpress-niezaleznie-od-doswiadczenia\/\" title=\"IDE do programowania WordPress\">IDE do programowania WordPress<\/a><\/li>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/pl\/praca-z-ustawieniami-uzytkownika-w-visual-studio-code\/\" title=\"Praca z ustawieniami u\u017cytkownika w Visual Studio Code\">Praca z ustawieniami u\u017cytkownika w Visual Studio Code<\/a><\/strong><\/li>\n<\/ol>\n<p>W ka\u017cdym z powy\u017cszych om\u00f3wiono spos\u00f3b konfigurowania, konfigurowania i zarz\u0105dzania kodem programu Visual Studio oraz podstawy zrozumienia ustawie\u0144 u\u017cytkownika (wraz z preferowanymi czcionkami i tym podobnymi).<\/p>\n<p>A wraz z tym nadszed\u0142 czas na zainstalowanie obs\u0142ugi sniffingu kodu oraz regu\u0142 dla styl\u00f3w kodowania PHP opartych na <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>[ogranicz p\u0142atne=&#8221;prawda&#8221;]<\/p>\n<p>Zanim powiesz Code, \u017ce chcesz u\u017cy\u0107 tego konkretnego zestawu regu\u0142, mo\u017cesz doda\u0107 kilka rzeczy do swojego pliku ustawie\u0144.<\/p>\n<h3>1 Aktualizacja ustawie\u0144 u\u017cytkownika<\/h3>\n<p>Pami\u0119taj, aby zaktualizowa\u0107 swoje Ustawienia u\u017cytkownika, po prostu kliknij <strong>Kod<\/strong>, a nast\u0119pnie przejd\u017a do <strong>Ustawie\u0144<\/strong> lub u\u017cyj skr\u00f3tu <strong>Cmd+<\/strong> (lub jego odpowiednika w Twoim systemie operacyjnym).<\/p>\n<p>Spowoduje to wy\u015bwietlenie znajomego okna:<\/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=\"Korzystanie ze standard\u00f3w kodowania PHP w Visual Studio Code\"><\/a><\/p>\n<p>Nast\u0119pnie wydaj nast\u0119puj\u0105ce polecenie w swoim terminalu:<\/p>\n<pre><code>$ brew install php-code-sniffer<\/code><\/pre>\n<p>Zwr\u00f3\u0107 uwag\u0119, \u017ce kiedy to robi\u0119, mam ju\u017c to zainstalowane, ale pojawia si\u0119 monit o uaktualnienie (wi\u0119c mam).<\/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=\"Korzystanie ze standard\u00f3w kodowania PHP w Visual Studio Code\"><\/a><\/p>\n<p>A nast\u0119pnie w nim mo\u017cesz doda\u0107 <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\">nast\u0119puj\u0105ce wiersze<\/a><\/strong> do pliku ustawie\u0144 u\u017cytkownika:<\/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>Je\u015bli nie masz pewno\u015bci co do \u015bcie\u017cki do lokalnej instalacji PHP, mo\u017cesz uruchomi\u0107 w terminalu nast\u0119puj\u0105ce polecenie:<\/p>\n<pre><code>$ which php<\/code><\/pre>\n<p>Oto, co opisuje ka\u017cda linia:<\/p>\n<ol>\n<li><strong>php.sugeruj.podstawowe.<\/strong> Kontroluje to, czy IDE b\u0119dzie samodzielnie sugerowa\u0107 kod oparty na PHP (co jest pomocne podczas pisania kodu). Pomy\u015bl o tym jako o autouzupe\u0142nianiu, zajrzeniu do API lub jakkolwiek to nazywaj\u0105 twoje obecne lub poprzednie IDE.<\/li>\n<li><strong>php.validate.executablePath.<\/strong> To po prostu odwo\u0142uje si\u0119 do pliku binarnego PHP na dysku. Jest to przydatne, aby uruchomi\u0107 wersj\u0119 PHP, z kt\u00f3r\u0105 dzia\u0142aj\u0105 twoje projekty.<\/li>\n<li><strong>php.walidacja.uruchom.<\/strong> Jak mo\u017cna si\u0119 spodziewa\u0107, spowoduje to walidacj\u0119 kodu podczas zapisywania pliku. Mo\u017cesz to zrobi\u0107 podczas pisania, ale w zale\u017cno\u015bci od tego, ile piszesz, jak szybko piszesz lub po prostu od charakteru twoich nawyk\u00f3w, mo\u017ce by\u0107 \u0142atwiej to zrobi\u0107 na <strong>Save<\/strong> (dlatego u\u017cywam go zamiast alternatywy kt\u00f3ry jest <strong>onType<\/strong> ).<\/li>\n<\/ol>\n<p>Wszystko to jest moim zdaniem mi\u0142e i konieczne, ale nie pozwala nam na pods\u0142uchiwanie kodu. Zwr\u00f3\u0107my teraz na to uwag\u0119.<\/p>\n<h3>2 Dodawanie w\u0105chania kodu<\/h3>\n<p>Przypomnij sobie z poprzedniej sekcji, poszed\u0142em dalej i zainstalowa\u0142em PHP Code Sniffer przez Homebrew, ale jak mo\u017cemy doda\u0107 obs\u0142ug\u0119 tego przez Visual Studio Code?<\/p>\n<p>To znaczy, ma sw\u00f3j w\u0142asny rynek, na kt\u00f3rym mo\u017cemy go doda\u0107, ale czy s\u0105 inne rzeczy, kt\u00f3re mo\u017cemy zrobi\u0107? Poniewa\u017c zainstalowali\u015bmy go przez Homebrew, to ju\u017c koniec.<\/p>\n<p>Teraz chodzi o powi\u0105zanie go z kodem. Chodzi o zrobienie dw\u00f3ch rzeczy:<\/p>\n<ol>\n<li>Instalacja wtyczki w kodzie,<\/li>\n<li>Aktualizacja ustawie\u0144 u\u017cytkownika (jeszcze raz).<\/li>\n<\/ol>\n<p>Najpierw przejd\u017a do ekranu wtyczek w kodzie, a nast\u0119pnie wyszukaj <strong>phpcs<\/strong>. Powiniene\u015b zobaczy\u0107 co\u015b takiego:<\/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=\"Korzystanie ze standard\u00f3w kodowania PHP w Visual Studio Code\"><\/a><\/p>\n<p>Kliknij <strong>Zainstaluj<\/strong>, a nast\u0119pnie <strong>Za\u0142aduj<\/strong> ponownie, je\u015bli zostaniesz o to poproszony.<\/p>\n<p>Nast\u0119pnie ponownie odwiedzamy nasz plik ustawie\u0144 <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\">i dodajemy nast\u0119puj\u0105ce elementy:<\/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>W tym momencie konfiguracja standard\u00f3w kodowania PHP PSR-2 z Visual Studio Code jest kompletnie zako\u0144czona.<\/p>\n<h3>3 Teraz przetestuj to<\/h3>\n<p>Aby sprawdzi\u0107, czy wszystko dzia\u0142a poprawnie, otw\u00f3rz dowolny plik PHP \u2013 albo z projektu, nad kt\u00f3rym pracujesz, albo z rdzenia WordPress. Otw\u00f3rz zintegrowany terminal. Poniewa\u017c rdze\u0144 WordPressa nie jest zgodny z PSR-2, prawdopodobnie zobaczysz wiele b\u0142\u0119d\u00f3w.<\/p>\n<p>Sprawd\u017a zak\u0142adk\u0119 <strong>Problemy<\/strong> w terminalu i zauwa\u017c:<\/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=\"Korzystanie ze standard\u00f3w kodowania PHP w Visual Studio Code\"><\/a><\/p>\n<p>Oczywi\u015bcie nie ma to na celu karania WordPressa. Zamiast tego ma pokaza\u0107, \u017ce kiedy widzisz problem pochodz\u0105cy z PHP Code Sniffer, mo\u017cesz go naprawi\u0107 przed faktycznym zapisaniem pliku, uko\u0144czeniem pliku lub zatwierdzeniem pliku w repozytorium.<\/p>\n<h2>A co z prac\u0105 front-endow\u0105?<\/h2>\n<p>R\u00f3wnie wa\u017cne, jak upewnienie si\u0119, \u017ce nasz kod ma odpowiedni\u0105 jako\u015b\u0107 pracy po stronie serwera, co z CSS (lub Sass lub LESS) lub JavaScript?<\/p>\n<p>Istniej\u0105 r\u00f3wnie\u017c narz\u0119dzia specjalnie do tego celu i zamierzamy wznowi\u0107 omawianie tego materia\u0142u w nast\u0119pnym po\u015bcie.<\/p>\n<p>Na razie skup si\u0119 na ustawieniu standard\u00f3w kodowania PHP w kodzie, sprawd\u017a, co mo\u017cesz zrobi\u0107 lepiej, aby ulepszy\u0107 swoje style, a od tego zaczniemy.<\/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>Tutaj om\u00f3wi\u0119, jak u\u017cywa\u0107 Homebrew do instalowania niezb\u0119dnych bibliotek dla PHP Code Sniffer i regu\u0142 PSR-2 dzia\u0142aj\u0105cych w 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":[721,1068,845],"tags":[1169],"class_list":["post-229686","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-komputer","category-samouczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/229686","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=229686"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/229686\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/236519"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=229686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=229686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=229686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}