{"id":230422,"date":"2022-11-25T19:31:00","date_gmt":"2022-11-25T16:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230422"},"modified":"2022-11-25T20:52:04","modified_gmt":"2022-11-25T17:52:04","slug":"php-koodausstandardien-kaeyttaeminen-visual-studio-codessa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/php-koodausstandardien-kaeyttaeminen-visual-studio-codessa\/","title":{"rendered":"PHP-koodausstandardien k\u00e4ytt\u00e4minen Visual Studio Codessa"},"content":{"rendered":"\n<p>Meill\u00e4 on siis perusasiat valmiina Visual Studio Codessa, mutta meill\u00e4 ei ole asennettuna k\u00e4yt\u00e4nn\u00f6llisi\u00e4 ty\u00f6kaluja, jotka auttaisivat meit\u00e4 koodin kirjoittamisen ammattimaisemmassa puolella.<\/p>\n<p>Tietysti &quot;ammattilainen&quot; voidaan m\u00e4\u00e4ritell\u00e4 sen yrityksen, tiimin tai ymp\u00e4rist\u00f6n perusteella, jossa ty\u00f6skentelet. Olen valinnut t\u00e4m\u00e4n sarjan perustaksi WordPressin. Mutta siit\u00e4 j\u00e4\u00e4 j\u00e4ljelle mm.<\/p>\n<ul>\n<li>koodausstandardit,<\/li>\n<li>JavaScript linting,<\/li>\n<li>paketin hallinta,<\/li>\n<li>Ja niin edelleen.<\/li>\n<\/ul>\n<p>Ja koko sarjan ajan aion kattaa kaiken yll\u00e4 luetellun. Mutta tehd\u00e4ksesi niin, aion kattaa jokaisen komponentin yksitellen.<\/p>\n<p>T\u00e4m\u00e4n p\u00e4iv\u00e4n postaus keskittyy PHP-koodausstandardeihin. Olen kirjoittanut paljon materiaalia WordPressin koodausstandardeista, mutta viimeisen vuoden aikana olen alkanut ty\u00f6skennell\u00e4 enemm\u00e4n PSR:n kanssa, joten sit\u00e4 k\u00e4sitell\u00e4\u00e4n t\u00e4ss\u00e4 viestiss\u00e4.<\/p>\n<p>Sivuhuomautuksena, tied\u00e4, ett\u00e4 suuri osa k\u00e4sitellyst\u00e4 voidaan k\u00e4\u00e4nt\u00e4\u00e4 WordPress-koodausstandardeiksi, jos niin valitset, ja on selv\u00e4\u00e4, mihin teet muutokset.<\/p>\n<p>T\u00e4m\u00e4n sanottuaan aloitetaan.<\/p>\n<h2>PHP-koodausstandardi Visual Studio Codessa<\/h2>\n<p>Varmista ensin, ett\u00e4 sinulla on edellytykset, jotka kaikki on k\u00e4sitelty t\u00e4m\u00e4n sarjan aiemmissa viesteiss\u00e4. Nimitt\u00e4in:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/ide-wordpressin-kehittaemiseen-kokemuksesta-riippumatta\/\" title=\"IDE WordPressin kehitt\u00e4miseen\">IDE WordPressin kehitt\u00e4miseen<\/a><\/li>\n<li><strong><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/kaeyttaejaeasetusten-kaeyttaeminen-visual-studio-codessa\/\" title=\"K\u00e4ytt\u00e4j\u00e4asetusten k\u00e4ytt\u00e4minen Visual Studio Codessa\">K\u00e4ytt\u00e4j\u00e4asetusten k\u00e4ytt\u00e4minen Visual Studio Codessa<\/a><\/strong><\/li>\n<\/ol>\n<p>Kukin yll\u00e4 olevista ohjeistaa Visual Studio Coden m\u00e4\u00e4ritt\u00e4misen, m\u00e4\u00e4ritt\u00e4misen ja hallinnan sek\u00e4 k\u00e4ytt\u00e4j\u00e4asetusten ymm\u00e4rt\u00e4misen perusteet (sek\u00e4 ensisijaiset kirjasimet ja muut vastaavat).<\/p>\n<p>Ja sen my\u00f6t\u00e4 on aika asentaa tuki koodin haistalle ja s\u00e4\u00e4nn\u00f6t PHP-koodaustyyleille, jotka perustuvat <strong><a href=\"https:\/\/www.php-fig.org\/psr\/psr-2\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PSR-2<\/a><\/strong> :een .<\/p>\n<p>[rajoita maksettua =&quot;true&quot;]<\/p>\n<p>Ennen kuin kerrot Codelle, ett\u00e4 haluat k\u00e4ytt\u00e4\u00e4 t\u00e4t\u00e4 tietty\u00e4 s\u00e4\u00e4nt\u00f6joukkoa, voit lis\u00e4t\u00e4 asetustiedostoon muutamia asioita.<\/p>\n<h3>1 P\u00e4ivitys k\u00e4ytt\u00e4j\u00e4asetuksiin<\/h3>\n<p>Muista, ett\u00e4 voit p\u00e4ivitt\u00e4\u00e4 k\u00e4ytt\u00e4j\u00e4asetukset napsauttamalla <strong>Koodi<\/strong> ja siirtym\u00e4ll\u00e4 sitten kohtaan <strong>Asetukset<\/strong> tai voit k\u00e4ytt\u00e4\u00e4 pikakuvaketta <strong>Cmd+<\/strong> (tai vastaavaa k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4ss\u00e4si).<\/p>\n<p>T\u00e4m\u00e4 tuo esiin tutun ikkunan:<\/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=\"PHP-koodausstandardien k\u00e4ytt\u00e4minen Visual Studio Codessa\"><\/a><\/p>\n<p>Anna seuraavaksi seuraava komento terminaalissasi:<\/p>\n<pre><code>$ brew install php-code-sniffer<\/code><\/pre>\n<p>Huomaa, ett\u00e4 kun teen t\u00e4m\u00e4n, minulla on se jo asennettuna, mutta minua kehotetaan p\u00e4ivitt\u00e4m\u00e4\u00e4n (niin olen tehnyt).<\/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=\"PHP-koodausstandardien k\u00e4ytt\u00e4minen Visual Studio Codessa\"><\/a><\/p>\n<p>Ja sitten sen sis\u00e4ll\u00e4 voit lis\u00e4t\u00e4 <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\">seuraavat rivit<\/a><\/strong> k\u00e4ytt\u00e4j\u00e4asetustiedostoosi:<\/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>Jos et ole varma paikallisen PHP-asennuksen polusta, voit suorittaa seuraavan komennon p\u00e4\u00e4tteess\u00e4si:<\/p>\n<pre><code>$ which php<\/code><\/pre>\n<p>T\u00e4ss\u00e4 on mit\u00e4 kukin rivi kuvaa:<\/p>\n<ol>\n<li><strong>php.suggest.basic.<\/strong> T\u00e4m\u00e4 m\u00e4\u00e4ritt\u00e4\u00e4, tekeek\u00f6 IDE ehdotuksia PHP-pohjaiselle koodille yksin\u00e4\u00e4n (mik\u00e4 on hy\u00f6dyllist\u00e4 koodia kirjoitettaessa). Ajattele t\u00e4t\u00e4 automaattisena t\u00e4ydennyksen\u00e4, sovellusliittym\u00e4\u00e4n kurkistamisena tai miksi tahansa nykyiset tai aiemmat IDE:t kutsuvat sit\u00e4.<\/li>\n<li><strong>php.validate.executablePath.<\/strong> T\u00e4m\u00e4 yksinkertaisesti viittaa PHP-binaariin levyll\u00e4. T\u00e4m\u00e4 on hy\u00f6dyllist\u00e4, jotta se k\u00e4ytt\u00e4\u00e4 PHP-versiota, jota vastaan \u200b\u200bprojektisi ovat k\u00e4ynniss\u00e4.<\/li>\n<li><strong>php.validate.run.<\/strong> Kuten saatat odottaa, t\u00e4m\u00e4 vahvistaa koodisi, kun tallennat tiedoston. Voit tehd\u00e4 sen kirjoittaessasi, mutta riippuen siit\u00e4, kuinka paljon kirjoitat, kuinka nopeasti kirjoitat tai vain tapojesi luonteesta, voi olla helpompi tehd\u00e4 se <strong>Tallenna<\/strong> (siksi k\u00e4yt\u00e4n sit\u00e4 vaihtoehtoisen sijaan joka on <strong>onType<\/strong> ).<\/li>\n<\/ol>\n<p>Kaikki t\u00e4m\u00e4 on mielest\u00e4ni mukavaa ja tarpeellista, mutta se ei saa meit\u00e4 koodin haistelemaan. Joten k\u00e4\u00e4nnet\u00e4\u00e4n nyt huomiomme siihen.<\/p>\n<h3>2 Code Sniffing -toiminnon lis\u00e4\u00e4minen<\/h3>\n<p>Muista edellisest\u00e4 osiosta, menin eteenp\u00e4in ja asensin PHP Code Snifferin Homebrew&#8217;n kautta, mutta kuinka lis\u00e4\u00e4mme tukea t\u00e4h\u00e4n Visual Studio Coden kautta?<\/p>\n<p>Tarkoitan, sill\u00e4 on oma markkinapaikka, jonne voimme lis\u00e4t\u00e4 sen, mutta voimmeko tehd\u00e4 muita asioita? Koska olemme asentaneet sen Homebrew&#8217;n kautta, se on valmis.<\/p>\n<p>Nyt on kysymys sen liitt\u00e4misest\u00e4 koodiin. T\u00e4ss\u00e4 on kyse kahden asian tekemisest\u00e4:<\/p>\n<ol>\n<li>Laajennuksen asentaminen koodiin,<\/li>\n<li>K\u00e4ytt\u00e4j\u00e4asetusten p\u00e4ivitt\u00e4minen (j\u00e4lleen kerran).<\/li>\n<\/ol>\n<p>Siirry ensin koodin laajennusn\u00e4ytt\u00f6\u00f6n ja etsi sitten <strong>phpcs<\/strong>. Sinun pit\u00e4isi n\u00e4hd\u00e4 jotain seuraavanlaista:<\/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=\"PHP-koodausstandardien k\u00e4ytt\u00e4minen Visual Studio Codessa\"><\/a><\/p>\n<p>Napsauta <strong>Asenna<\/strong> ja sitten <strong>Lataa uudelleen<\/strong>, jos sinua kehotetaan tekem\u00e4\u00e4n niin.<\/p>\n<p>Seuraavaksi k\u00e4ymme uudelleen asetustiedostossamme <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\">ja lis\u00e4\u00e4mme seuraavat:<\/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>T\u00e4ss\u00e4 vaiheessa olet valmis m\u00e4\u00e4ritt\u00e4m\u00e4\u00e4n PSR-2 PHP-koodausstandardit Visual Studio Coden kanssa.<\/p>\n<h3>3 Testaa nyt<\/h3>\n<p>N\u00e4hd\u00e4ksesi toimiiko kaikki oikein avaamalla mik\u00e4 tahansa PHP-tiedosto \u2013 joko projektista, jonka parissa ty\u00f6skentelet, tai WordPress-ytimest\u00e4. Avaa integroitu p\u00e4\u00e4te. Koska WordPress-ydin ei seuraa PSR-2:ta, n\u00e4et todenn\u00e4k\u00f6isesti paljon virheit\u00e4.<\/p>\n<p>Tarkista p\u00e4\u00e4tteen <strong>Ongelmat<\/strong> &#8211; v\u00e4lilehti ja huomaa:<\/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=\"PHP-koodausstandardien k\u00e4ytt\u00e4minen Visual Studio Codessa\"><\/a><\/p>\n<p>T\u00e4m\u00e4n ei tietenk\u00e4\u00e4n ole tarkoitus kurittaa WordPressi\u00e4. Sen sijaan sen on tarkoitus osoittaa, ett\u00e4 kun n\u00e4et PHP Code Snifferin tulevan ongelman, voit korjata sen ennen kuin tallennat tiedoston, viimeistelet tiedoston tai siirr\u00e4t tiedoston arkistoon.<\/p>\n<h2>Ent\u00e4 etuosaty\u00f6?<\/h2>\n<p>Yht\u00e4 t\u00e4rke\u00e4\u00e4 kuin on varmistaa, ett\u00e4 koodimme vastaa palvelinpuolen ty\u00f6n oikeaa laatua, ent\u00e4 CSS (tai Sass tai LESS) tai JavaScript?<\/p>\n<p>On my\u00f6s ty\u00f6kaluja erityisesti t\u00e4t\u00e4 varten, ja jatkamme t\u00e4m\u00e4n materiaalin k\u00e4sittelemist\u00e4 seuraavassa postauksessa.<\/p>\n<p>Keskity toistaiseksi PHP-koodausstandardien m\u00e4\u00e4ritt\u00e4miseen Codessa, katso, mit\u00e4 voit tehd\u00e4 paremmin parantaaksesi tyylej\u00e4si, niin l\u00e4hdemme siit\u00e4 eteenp\u00e4in.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 kerron, kuinka Homebrew&#8217;n avulla asennetaan tarvittavat kirjastot PHP Code Snifferille ja Visual Studio Codessa suoritettaville PSR-2-s\u00e4\u00e4nn\u00f6ille.<\/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":[719,843,1066],"tags":[1166],"class_list":["post-230422","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-opetusohjelmia","category-tietokone","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=230422"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/236519"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}