{"id":229821,"date":"2022-11-25T19:50:00","date_gmt":"2022-11-25T16:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229821"},"modified":"2022-11-25T20:07:41","modified_gmt":"2022-11-25T17:07:41","slug":"anvaender-php-kodningsstandarder-i-visual-studio-code","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/anvaender-php-kodningsstandarder-i-visual-studio-code\/","title":{"rendered":"Anv\u00e4nder PHP-kodningsstandarder i Visual Studio Code"},"content":{"rendered":"\n<p>S\u00e5 vi har konfigurerat grunderna i Visual Studio Code, men vi har inga praktiska verktyg installerade f\u00f6r att hj\u00e4lpa oss med mer av den professionella sidan av att skriva kod.<\/p>\n<p>Naturligtvis kan &quot;professionell&quot; definieras utifr\u00e5n f\u00f6retaget, teamet eller milj\u00f6n som du arbetar i. F\u00f6r den h\u00e4r serien har jag valt att g\u00e5 med WordPress som grund. Men det l\u00e4mnar fortfarande saker som:<\/p>\n<ul>\n<li>kodningsstandarder,<\/li>\n<li>JavaScript-linting,<\/li>\n<li>pakethantering,<\/li>\n<li>Och s\u00e5 vidare.<\/li>\n<\/ul>\n<p>Och genom hela serien kommer jag att t\u00e4cka allt som anges ovan. Men f\u00f6r att g\u00f6ra det kommer jag att t\u00e4cka varje komponent en efter en.<\/p>\n<p>Dagens inl\u00e4gg kommer att fokusera p\u00e5 PHP-kodningsstandarderna. Jag har skrivit massor av material ang\u00e5ende WordPress-kodningsstandarderna, men under det senaste \u00e5ret eller mer har jag b\u00f6rjat arbeta mer med PSR, och s\u00e5 det \u00e4r vad som kommer att behandlas i det h\u00e4r inl\u00e4gget.<\/p>\n<p>Som en sidoanteckning, vet att mycket av det som t\u00e4cks kan \u00f6vers\u00e4ttas till WordPress-kodningsstandarderna om du s\u00e5 v\u00e4ljer, och det kommer att vara tydligt var du skulle g\u00f6ra \u00e4ndringarna.<\/p>\n<p>Med det sagt, l\u00e5t oss b\u00f6rja.<\/p>\n<h2>PHP-kodningsstandard i Visual Studio Code<\/h2>\n<p>F\u00f6rst, se till att du har f\u00f6ruts\u00e4ttningarna som alla behandlas i tidigare inl\u00e4gg i den h\u00e4r serien. N\u00e4mligen:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/sv\/en-ide-foer-wordpress-utveckling-oavsett-erfarenhet\/\" title=\"En IDE f\u00f6r WordPress-utveckling\">En IDE f\u00f6r WordPress-utveckling<\/a><\/li>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/sv\/arbeta-med-anvaendarinstaellningar-i-visual-studio-code\/\" title=\"Arbeta med anv\u00e4ndarinst\u00e4llningar i Visual Studio Code\">Arbeta med anv\u00e4ndarinst\u00e4llningar i Visual Studio Code<\/a><\/strong><\/li>\n<\/ol>\n<p>Vart och ett av ovanst\u00e5ende g\u00e5r igenom hur man st\u00e4ller in, konfigurerar och hanterar Visual Studio Code och grunderna f\u00f6r att f\u00f6rst\u00e5 anv\u00e4ndarinst\u00e4llningar (tillsammans med f\u00f6redragna typsnitt och liknande).<\/p>\n<p>Och med det \u00e4r det dags att installera st\u00f6d f\u00f6r kodsniffning och regler f\u00f6r PHP-kodningsstilar baserade p\u00e5 <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>[restrict paid=&quot;true&#8221;]<\/p>\n<p>Innan du ber\u00e4ttar f\u00f6r Code att du vill anv\u00e4nda denna speciella upps\u00e4ttning regler, finns det n\u00e5gra saker som du kan l\u00e4gga till i din inst\u00e4llningsfil.<\/p>\n<h3>1 En uppdatering av dina anv\u00e4ndarinst\u00e4llningar<\/h3>\n<p>Kom ih\u00e5g att f\u00f6r att g\u00f6ra en uppdatering av dina anv\u00e4ndarinst\u00e4llningar klickar du helt enkelt p\u00e5 <strong>Kod<\/strong> och navigerar sedan till <strong>Inst\u00e4llningar<\/strong>, eller s\u00e5 kan du anv\u00e4nda genv\u00e4gen <strong>Cmd+,<\/strong> (eller motsvarande i ditt operativsystem).<\/p>\n<p>Detta kommer att f\u00e5 upp ett bekant f\u00f6nster:<\/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=\"Anv\u00e4nder PHP-kodningsstandarder i Visual Studio Code\"><\/a><\/p>\n<p>Utf\u00f6r sedan f\u00f6ljande kommando i din terminal:<\/p>\n<pre><code>$ brew install php-code-sniffer<\/code><\/pre>\n<p>Observera att n\u00e4r jag g\u00f6r detta har jag det redan installerat, men jag uppmanas att uppgradera (s\u00e5 jag har).<\/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=\"Anv\u00e4nder PHP-kodningsstandarder i Visual Studio Code\"><\/a><\/p>\n<p>Och sedan inom den kan du l\u00e4gga <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\">till f\u00f6ljande rader<\/a><\/strong> i din anv\u00e4ndarinst\u00e4llningsfil:<\/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>Om du \u00e4r os\u00e4ker p\u00e5 s\u00f6kv\u00e4gen till din lokala installation av PHP kan du k\u00f6ra f\u00f6ljande kommando i din terminal:<\/p>\n<pre><code>$ which php<\/code><\/pre>\n<p>H\u00e4r \u00e4r vad varje rad beskriver:<\/p>\n<ol>\n<li><strong>php.suggest.basic.<\/strong> Detta styr om IDE kommer att ge f\u00f6rslag p\u00e5 PHP-baserad kod p\u00e5 egen hand (vilket \u00e4r anv\u00e4ndbart n\u00e4r du skriver kod). T\u00e4nk p\u00e5 detta som autoslutf\u00f6rande, en titt in i API:et eller vad dina nuvarande eller tidigare IDE:er kan kalla det.<\/li>\n<li><strong>php.validate.executablePath.<\/strong> Detta refererar helt enkelt till PHP-bin\u00e4ren p\u00e5 disken. Detta \u00e4r anv\u00e4ndbart att ha s\u00e5 att det k\u00f6r den version av PHP som dina projekt k\u00f6rs mot.<\/li>\n<li><strong>php.validate.run.<\/strong> Som du kan f\u00f6rv\u00e4nta dig kommer detta att validera din kod n\u00e4r du sparar din fil. Du kan g\u00f6ra det medan du skriver men beroende p\u00e5 hur mycket du skriver, hur snabbt du skriver eller bara dina vanor, kan det vara l\u00e4ttare att g\u00f6ra det <strong>p\u00e5 Spara<\/strong> (d\u00e4rav varf\u00f6r jag anv\u00e4nder det ist\u00e4llet f\u00f6r alternativet som \u00e4r <strong>onType<\/strong> ).<\/li>\n<\/ol>\n<p>Allt detta \u00e4r trevligt och n\u00f6dv\u00e4ndigt, enligt min mening, men det f\u00e5r oss ingen kodsnuffning. S\u00e5 l\u00e5t oss rikta v\u00e5r uppm\u00e4rksamhet mot det nu.<\/p>\n<h3>2 L\u00e4gga till kodsniffning<\/h3>\n<p>Minns fr\u00e5n f\u00f6reg\u00e5ende avsnitt, jag gick vidare och installerade PHP Code Sniffer via Homebrew men hur l\u00e4gger vi till st\u00f6d till detta via Visual Studio Code?<\/p>\n<p>Jag menar, den har en egen marknadsplats d\u00e4r vi kan l\u00e4gga till den, men finns det andra saker vi kan g\u00f6ra? Eftersom vi har installerat det via Homebrew \u00e4r det klart.<\/p>\n<p>Nu g\u00e4ller det att knyta det till Code. Det h\u00e4r handlar om att g\u00f6ra tv\u00e5 saker:<\/p>\n<ol>\n<li>Installera ett plugin i kod,<\/li>\n<li>Uppdatera dina anv\u00e4ndarinst\u00e4llningar (en g\u00e5ng till).<\/li>\n<\/ol>\n<p>Navigera f\u00f6rst till pluginssk\u00e4rmen i Code och s\u00f6k sedan efter <strong>phpcs<\/strong>. Du b\u00f6r se n\u00e5got i stil med f\u00f6ljande:<\/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=\"Anv\u00e4nder PHP-kodningsstandarder i Visual Studio Code\"><\/a><\/p>\n<p>Klicka p\u00e5 <strong>Installera<\/strong> och sedan <strong>Ladda<\/strong> om om du uppmanas att g\u00f6ra det.<\/p>\n<p>D\u00e4refter bes\u00f6ker vi \u00e5terigen v\u00e5r inst\u00e4llningsfil <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\">och l\u00e4gger till f\u00f6ljande:<\/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>Vid det h\u00e4r laget \u00e4r du helt klar med att konfigurera PSR-2 PHP-kodningsstandarder med Visual Studio Code.<\/p>\n<h3>3 Testa det nu<\/h3>\n<p>F\u00f6r att se om allt fungerar korrekt, \u00f6ppna valfri PHP-fil \u2013 antingen en fr\u00e5n ett projekt som du arbetar med eller en fr\u00e5n WordPress-k\u00e4rnan. \u00d6ppna den integrerade terminalen. Eftersom WordPress core inte f\u00f6ljer PSR-2, kommer du sannolikt att se m\u00e5nga fel.<\/p>\n<p>Kolla in fliken <strong>Problem i terminalen och l\u00e4gg m\u00e4rke till:<\/strong><\/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=\"Anv\u00e4nder PHP-kodningsstandarder i Visual Studio Code\"><\/a><\/p>\n<p>Naturligtvis \u00e4r detta inte menat att tukta WordPress. Ist\u00e4llet \u00e4r det menat att visa att n\u00e4r du ser ett problem som kommer fr\u00e5n PHP Code Sniffer, kan du fixa det innan du faktiskt sparar filen, slutf\u00f6r filen eller \u00f6verf\u00f6r filen till f\u00f6rvaret.<\/p>\n<h2>Hur \u00e4r det med frontend-arbete?<\/h2>\n<p>Hur viktigt det \u00e4n \u00e4r att se till att v\u00e5r kod h\u00e5ller r\u00e4tt kvalitet p\u00e5 serversidans arbete, hur \u00e4r det med CSS (eller Sass eller LESS) eller JavaScript?<\/p>\n<p>Det finns ocks\u00e5 verktyg specifikt f\u00f6r det, och vi kommer att \u00e5teruppta att t\u00e4cka det materialet i n\u00e4sta inl\u00e4gg.<\/p>\n<p>F\u00f6r nu, fokusera p\u00e5 att st\u00e4lla in PHP-kodningsstandarder i kod, kolla in vad du kan g\u00f6ra b\u00e4ttre f\u00f6r att f\u00f6rb\u00e4ttra dina stilar, s\u00e5 g\u00e5r vi d\u00e4rifr\u00e5n.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>H\u00e4r kommer jag att t\u00e4cka hur du anv\u00e4nder Homebrew f\u00f6r att installera de n\u00f6dv\u00e4ndiga biblioteken f\u00f6r PHP Code Sniffer och PSR-2-reglerna som k\u00f6rs i 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":[1070,848,724],"tags":[1173],"class_list":["post-229821","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-en-dator","category-handledningar","category-utvecklaren","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=229821"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229821\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/236519"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=229821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=229821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=229821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}