{"id":23361,"date":"2021-04-28T16:58:00","date_gmt":"2021-04-28T13:58:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23361"},"modified":"2021-10-17T21:35:01","modified_gmt":"2021-10-17T18:35:01","slug":"php_codesniffer-kirjasto-php-koodausstandardien-parantamiseen","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/php_codesniffer-kirjasto-php-koodausstandardien-parantamiseen\/","title":{"rendered":"PHP_CodeSniffer &#8211; Kirjasto PHP-koodausstandardien parantamiseen"},"content":{"rendered":"<p>Haluatko parantaa PHP-koodausstandardejasi? Ilmeisesti kyll\u00e4. Ei ole v\u00e4li\u00e4 olet tuoreempi tai kokenut PHP-kehitt\u00e4j\u00e4, kaikki haluavat parantaa koodausstandardejaan.<\/p>\n<p>Mutta miten?<\/p>\n<p>Internetiss\u00e4 on useita resursseja, joita voit lukea ja aloittaa toteuttamisen.<\/p>\n<p>On viel\u00e4 yksi ratkaisu, joka ei vaadi lukemista tavallisesta koodauksesta. Sen sijaan se antaa sinulle ehdotuksia standardien ajonaikan parantamiseksi katsomalla PHP-tiedostoa. T\u00e4m\u00e4 tapa on parempi, koska saat selke\u00e4n ehdotuksen rivinumeron kanssa.<\/p>\n<h3>PHP_CodeSnifferin esittely<\/h3>\n<p>Kuten nimest\u00e4 voi p\u00e4\u00e4tell\u00e4, <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_CodeSniffer<\/a> haisee tiedostojesi tai kansioidesi koodin. Mist\u00e4 tahansa, se haisee huonon koodin, jonka se antaa sinulle, kun ilmoitat, miss\u00e4 huono koodi on ja mit\u00e4 toimia sinun tulisi tehd\u00e4 sen korjaamiseksi. PHP_CodeSniffer toimii kuten PHP-koodin tarkistaja.<\/p>\n<p>Se on eritt\u00e4in suositeltava kirjasto PHP-ohjelmoijalle. Kun ty\u00f6skentelet PHP-projektin parissa, sinun ei pit\u00e4isi toimittaa koodiasi loppuasiakkaalle, ennen kuin olet suorittanut PHP_CodeSniffer-ehdotetut PHP-koodausstandardit.<\/p>\n<p>Loppujen lopuksi PHP-ohjelmoijan pit\u00e4isi antaa parempi koodi ja PHP_CodeSniffer auttaa sinua parantamaan koodausta.<\/p>\n<h3>Asenna PHP_CodeSniffer Composerin avulla<\/h3>\n<p><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> on PHP: n riippuvuuksien hallinta. Sen avulla voit asentaa \/ p\u00e4ivitt\u00e4\u00e4 projektille tarvitsemasi kirjaston.<\/p>\n<p>Voit asentaa PHP_CodeSniffer projektisi juurihakemistoon. Mutta suosittelen, ett\u00e4 luot juurihakemistoon kansion &#8217;php_codesniffer&#8217; ja asennat kirjaston t\u00e4h\u00e4n kansioon.<\/p>\n<p>Voit asentaa PHP_CodeSniffer s\u00e4velt\u00e4j\u00e4n avulla avaamalla komentokehotteen hakemistossa &#8217;php_codesniffer&#8217; ja suorittamalla alla olevan komennon.<\/p>\n<p><code>composer require \"squizlabs\/php_codesniffer=*\"<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Kirjasto PHP-koodausstandardien parantamiseen\" ><\/a><\/p>\n<h3>Tarkistetaan PHP-koodausstandardimme<\/h3>\n<p>Seuraavaksi siirry <code>php_codesniffer\/vendor\/bin<\/code>komentokehotteesta hakemistoon. T\u00e4st\u00e4 bin-kansiosta tarkistamme PHP-koodausstandardimme PHP_CodeSniffer -palveluun.<\/p>\n<p>Oletetaan esimerkiksi, ett\u00e4 projektissasi on tiedosto nimelt\u00e4 index.php. Index.php-tiedostoni sis\u00e4lt\u00e4\u00e4 alla olevan koodin.<\/p>\n<pre><code>&lt;?php\nrequire_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0));\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>T\u00e4t\u00e4 koodia k\u00e4ytettiin <a href=\"https:\/\/themewp.inform.click\/fi\/muuta-kuvan-kokoa-php-ssa-tinypng-n-avulla\/\" title=\"kuvan koon muuttamiseen PHP: ss\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 TinyPNG-kirjastoa\">kuvan koon muuttamiseen PHP: ss\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 TinyPNG-kirjastoa<\/a>. Koodimme toimii hyvin ja antaa odotetun tuloksen. Mutta meilt\u00e4 puuttui joitain koodausstandardeja tiedostostamme.<\/p>\n<p>Selvitet\u00e4\u00e4n, mik\u00e4 standardi puuttuu yll\u00e4 olevasta tiedostosta.<\/p>\n<p>Tarkistamme t\u00e4m\u00e4n tiedoston PHP_CodeSniffer-ohjelmalla suorittamalla alla olevan komennon.<\/p>\n<p><code>phpcs --standard=PEAR \/path\/to\/your\/file<\/code><\/p>\n<p>Ty\u00f6skentelemme Windowsissa, joten tapauksessamme komento olisi seuraava.<\/p>\n<p><code>phpcs --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p>T\u00e4ss\u00e4 &#8217;\u2013standard = PEAR&#8217; tarkoittaa, ett\u00e4 tiedostomme tarkistetaan <a href=\"https:\/\/pear.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PEARin<\/a> asettaman standardin mukaisesti .<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Kirjasto PHP-koodausstandardien parantamiseen\" ><\/a><\/p>\n<p>Yll\u00e4 olevan komennon suorittamisen j\u00e4lkeen saimme joitain virheit\u00e4 koodausstandardeista.<\/p>\n<h3>Korjaa koodi k\u00e4ytt\u00e4m\u00e4ll\u00e4 ohjeita<\/h3>\n<p>Otetaan yksi esimerkki virheest\u00e4.<\/p>\n<p>Toinen virhe sanomalla &#8217;demand_once&#8217; on lause, joka ei ole funktio: sulkeita ei vaadita<\/p>\n<p>T\u00e4ll\u00e4 virheell\u00e4 opimme tuntemaan standardin ulkoisen tiedoston sis\u00e4llytt\u00e4miseksi.<\/p>\n<p>Alla oleva koodi<\/p>\n<pre><code>require_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");<\/code><\/pre>\n<p>pit\u00e4isi korvata<\/p>\n<pre><code>require_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";<\/code><\/pre>\n<p>T\u00e4m\u00e4 on yksi esimerkki koodin korjaamisesta. Sinun tapauksessasi saatat l\u00f6yt\u00e4\u00e4 muita virheit\u00e4. Sinun on korjattava se noudattamalla saamiasi ohjeita.<\/p>\n<p>PHP_CodeSniffer-kirjasto tarjoaa yhden komennon, joka korjaa koodauksen vakiorikkomukset automaattisesti. Muista, ett\u00e4 t\u00e4m\u00e4 komento ei korjaa kaikkia virheit\u00e4. Se huolehtii pienist\u00e4 virheist\u00e4, kuten sisennys, sulkeiden sulkeminen jne.<\/p>\n<p>Jos tarkastelet yll\u00e4 olevaa kuvakaappausta, huomaat, ett\u00e4 tiedostostamme l\u00f6ytyy yhteens\u00e4 7 virhett\u00e4. Katso virheluettelon j\u00e4lkeen rivi<\/p>\n<p>&#8217;PHPCBF&#8217; voi korjata 6 merkitty\u00e4 SNIFF-rikkomusta automaattisesti<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Kirjasto PHP-koodausstandardien parantamiseen\" ><\/a><\/p>\n<p>Ensimm\u00e4inen virhe, joka liittyy puuttuvaan tiedostoon doc kommentti, meid\u00e4n on huolehdittava t\u00e4st\u00e4 doc kommentista. &#8217;PHPCBF&#8217; -komento ei korjaa sit\u00e4.<\/p>\n<p>Sanottuamme, kirjoitetaan komento sille.<\/p>\n<p><code>phpcbf --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Kirjasto PHP-koodausstandardien parantamiseen\" ><\/a><\/p>\n<p>Kuvakaappauksessa n\u00e4et, ett\u00e4 se on korjannut 6 virhett\u00e4 ja yksi on j\u00e4ljell\u00e4. Pysyv\u00e4 virhe liittyy tiedosto doc kommenttiin.<\/p>\n<p>Joten lis\u00e4t\u00e4\u00e4n tiedosto kommentoimalla ja lopullinen koodimme seuraa.<\/p>\n<pre><code>&lt;?php\n\/**\n\u00a0* This file will generate the resize version of an image\n\u00a0*\n\u00a0* PHP version 5.6.25\n\u00a0*\n\u00a0* @category Resize_Image\n\u00a0* @package\u00a0 TinyPNG\n\u00a0* @author\u00a0\u00a0 Sajid &lt;sajid@artisansweb.net&gt;\n\u00a0* @license\u00a0 http:\/\/www.php.net\/license\/3_01.txt\u00a0 PHP License 3.01\n\u00a0* @link\u00a0\u00a0\u00a0\u00a0 https:\/\/artisansweb.net\/resize-image-php-using-tinypng\n\u00a0*\/\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0)\n);\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Jos suoritamme &#8217;phpcs&#8217; -komentosarjan, emme saa mit\u00e4\u00e4n PHP-koodausstandardivirheit\u00e4.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Kirjasto PHP-koodausstandardien parantamiseen\" ><\/a><\/p>\n<p><strong>Huomaa:<\/strong> PHP_CodeSniffer vahvistaa my\u00f6s JS- ja CSS-tiedostosi.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Haluatko parantaa PHP-koodausstandardejasi? PHP_CodeSniffer on kirjasto, joka auttaa sinua parantamaan koodausstandardeja. T\u00e4ss\u00e4 artikkelissa tutkimme<\/p>\n","protected":false},"author":1,"featured_media":21909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[275],"tags":[843],"class_list":["post-23361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/23361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=23361"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/23361\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=23361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=23361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=23361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}