{"id":231186,"date":"2022-12-29T11:47:00","date_gmt":"2022-12-29T08:47:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231186"},"modified":"2022-12-25T22:16:43","modified_gmt":"2022-12-25T19:16:43","slug":"laegga-till-flera-kodningsstandarder-med-composer","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/laegga-till-flera-kodningsstandarder-med-composer\/","title":{"rendered":"L\u00e4gga till flera kodningsstandarder med Composer"},"content":{"rendered":"<p>Det \u00e4r en sak att anv\u00e4nda <a href=\"https:\/\/tommcfarlin.com\/php-codesniffer-in-visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> manuellt, men om du anv\u00e4nder ett verktyg som <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> f\u00f6r att kontrollera ditt arbete innan du \u00f6verf\u00f6r det till f\u00f6rvaret, kommer du sannolikt att vilja anv\u00e4nda den version som du installerar med din 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=\"L\u00e4gga till flera kodningsstandarder med Composer\" ><\/a><\/p>\n<p>Detta f\u00f6ruts\u00e4tter att:<\/p>\n<ol>\n<li>Du installerar PHP CodeSniffer lokalt i ditt projekt,<\/li>\n<li>Du vill installera en specifik upps\u00e4ttning kodningsstandarder som ska k\u00f6ras mot din kod.<\/li>\n<\/ol>\n<p>Kom ih\u00e5g att detta ocks\u00e5 g\u00f6rs i samband med att man vill k\u00f6ra automatiserade skript under commit-processen och i en lokal milj\u00f6 (mot en global milj\u00f6) med Composer.<\/p>\n<p>Composer erbjuder m\u00f6jligheten att skriva skript under k\u00f6rning. <a href=\"https:\/\/getcomposer.org\/doc\/articles\/scripts.md\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Fr\u00e5n manualen<\/a> :<\/p>\n<blockquote>\n<p>Ett skript, i Composers termer, kan antingen vara en PHP-\u00e5teruppringning (definierad som en statisk metod) eller vilket som helst k\u00f6rbart kommando p\u00e5 kommandoraden. Skript \u00e4r anv\u00e4ndbara f\u00f6r att k\u00f6ra ett pakets anpassade kod eller paketspecifika kommandon under Composer-k\u00f6rningsprocessen.<\/p>\n<\/blockquote>\n<p>F\u00f6r att installera flera kodningsstandarder med Composer s\u00e5 att vi kan g\u00f6ra vad vi med GrumPHP och alla pre-commit processer, m\u00e5ste vi dra f\u00f6rdel av <strong>pre-install-cmd<\/strong> och <strong>pre-update-cmd<\/strong> skripten. Om du g\u00f6r detta s\u00e4kerst\u00e4ller du att r\u00e4tt kodningsstandarder st\u00e4lls in f\u00f6r bin\u00e4ren p\u00e5 projektniv\u00e5 i PHP CodeSniffer.<\/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\">Fall i punkt<\/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>Notera i exemplet ovan, jag ser till att l\u00e4gga till WordPress-kodningsstandarderna till PHP CodeSniffer.<\/p>\n<p>Men du kan l\u00e4gga till flera versioner av kodningsstandarder, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/e58bd797d53cdaeb659a2e09db0b5725#file-01-add-php-cs-json\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">s\u00e5 h\u00e4r:<\/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>Och du kan l\u00e4gga till alla andra standarder du har s\u00e5 att du kan peka skriptet p\u00e5 r\u00e4tt plats d\u00e4r de \u00e4r installerade.<\/p>\n<p>N\u00e4r du g\u00f6r det kommer standarderna att till\u00e4mpas p\u00e5 PHP CodeSniffer och kommer att utf\u00f6ras under b\u00e5de <strong>installationen<\/strong> och <strong>uppdateringen<\/strong> Composer-processer.<\/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>F\u00f6r att installera flera kodningsstandarder med Composer m\u00e5ste vi dra f\u00f6rdel av pre-install-cmd och pre-update-cmd-skripten.<\/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":[848,901,755,807,787,724],"tags":[1173],"class_list":["post-231186","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-koda","category-oeppen-kaella","category-php-9","category-programvara-med-oeppen-kaellkod","category-utvecklaren","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/231186","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=231186"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/231186\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/223641"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=231186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=231186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=231186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}