{"id":26767,"date":"2021-04-28T17:13:00","date_gmt":"2021-04-28T14:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26767"},"modified":"2021-10-17T05:31:13","modified_gmt":"2021-10-17T02:31:13","slug":"php_codesniffer-ett-bibliotek-for-att-forbattra-dina-php-kodningsstandarder","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/php_codesniffer-ett-bibliotek-for-att-forbattra-dina-php-kodningsstandarder\/","title":{"rendered":"PHP_CodeSniffer &#8211; Ett bibliotek f\u00f6r att f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder"},"content":{"rendered":"<p>Vill du f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder? Uppenbarligen, ja. Oavsett om du \u00e4r en fr\u00e4schare eller erfaren PHP-utvecklare, vill alla f\u00f6rb\u00e4ttra sina kodningsstandarder.<\/p>\n<p>Men hur?<\/p>\n<p>Det finns flera resurser tillg\u00e4ngliga p\u00e5 Internet som du kan l\u00e4sa och b\u00f6rja implementera.<\/p>\n<p>Det finns ytterligare en l\u00f6sning som inte kr\u00e4ver att man l\u00e4ser om standardkodning. Ist\u00e4llet ger det dig f\u00f6rslag p\u00e5 hur du kan f\u00f6rb\u00e4ttra din standardtid genom att titta in i din PHP-fil. Detta s\u00e4tt \u00e4r b\u00e4ttre eftersom du f\u00e5r det tydliga f\u00f6rslaget tillsammans med radnumret.<\/p>\n<h3>Introduktion till PHP_CodeSniffer<\/h3>\n<p>Som namnet antyder luktar <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_CodeSniffer<\/a> koden i dina filer eller mappar. Var som helst, det luktar den d\u00e5liga koden det ger dig att rapportera var den d\u00e5liga koden \u00e4r och vilka steg du b\u00f6r vidta f\u00f6r att korrigera den. PHP_CodeSniffer fungerar som din PHP-kodkontroll.<\/p>\n<p>Det rekommenderas starkt bibliotek f\u00f6r en PHP-programmerare. N\u00e4r du arbetar med PHP-projekt b\u00f6r du inte leverera din kod till slutklienten f\u00f6rr\u00e4n du \u00e4r klar med PHP_CodeSniffer f\u00f6reslagna PHP-kodningsstandarder.<\/p>\n<p>N\u00e4r allt kommer omkring ska PHP-programmerare leverera en b\u00e4ttre kod och PHP_CodeSniffer hj\u00e4lper dig f\u00f6r b\u00e4ttre kodning.<\/p>\n<h3>Installera PHP_CodeSniffer med Composer<\/h3>\n<p><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> \u00e4r en beroendeshanterare f\u00f6r PHP. Det l\u00e5ter dig installera \/ uppdatera det bibliotek du beh\u00f6ver f\u00f6r ditt projekt.<\/p>\n<p>Du kan installera PHP_CodeSniffer i projektets rotkatalog. Men jag rekommenderar att du skapar en mapp &#8217;php_codesniffer&#8217; i rotkatalogen och installerar biblioteket i den h\u00e4r mappen.<\/p>\n<p>F\u00f6r att installera PHP_CodeSniffer med hj\u00e4lp av komposit\u00f6r, \u00f6ppna kommandotolken i katalogen &#8217;php_codesniffer&#8217; och k\u00f6r kommandot nedan.<\/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 - Ett bibliotek f\u00f6r att f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder\" ><\/a><\/p>\n<h3>L\u00e5t oss kontrollera v\u00e5ra PHP-kodningsstandarder<\/h3>\n<p>G\u00e5 sedan vidare till <code>php_codesniffer\/vendor\/bin<\/code>katalogen fr\u00e5n kommandotolken. Fr\u00e5n den h\u00e4r bin-mappen kommer vi att kontrollera v\u00e5ra PHP-kodningsstandarder mot PHP_CodeSniffer.<\/p>\n<p>L\u00e5t oss till exempel anta att vi har en fil som heter index.php i ditt projekt. Min index.php-fil inneh\u00e5ller nedanst\u00e5ende kod.<\/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>Den h\u00e4r koden anv\u00e4nds f\u00f6r att <a href=\"https:\/\/themewp.inform.click\/sv\/andra-storlek-pa-bild-i-php-med-tinypng\/\" title=\"\u00e4ndra storlek p\u00e5 bilden i PHP med hj\u00e4lp av TinyPNG-biblioteket\">\u00e4ndra storlek p\u00e5 bilden i PHP med hj\u00e4lp av TinyPNG-biblioteket<\/a>. V\u00e5r kod fungerar bra och ger ett f\u00f6rv\u00e4ntat resultat. Men vi saknade n\u00e5gra kodningsstandarder i v\u00e5r fil.<\/p>\n<p>L\u00e5t oss ta reda p\u00e5 vilken standard vi saknar i ovanst\u00e5ende fil.<\/p>\n<p>Vi kontrollerar den h\u00e4r filen mot PHP_CodeSniffer genom att k\u00f6ra kommandot nedan.<\/p>\n<p><code>phpcs --standard=PEAR \/path\/to\/your\/file<\/code><\/p>\n<p>Vi arbetar med Windows s\u00e5 i v\u00e5rt fall skulle ett kommando vara enligt f\u00f6ljande.<\/p>\n<p><code>phpcs --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p>H\u00e4r betyder &#8217;\u2013standard = PEAR&#8217; att v\u00e5r fil kommer att kontrollera mot den standard som <a href=\"https:\/\/pear.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PEAR<\/a> st\u00e4ller in .<\/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 - Ett bibliotek f\u00f6r att f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder\" ><\/a><\/p>\n<p>Efter att ha k\u00f6rt ovanst\u00e5ende kommando fick vi n\u00e5gra fel ang\u00e5ende kodningsstandarderna.<\/p>\n<h3>Korrigera koden med hj\u00e4lp av riktlinjer<\/h3>\n<p>L\u00e5t oss ta ett exempel p\u00e5 fel.<\/p>\n<p>Det andra felet som s\u00e4ger &#8217;require_once&#8217; \u00e4r ett uttalande och inte en funktion: inga parenteser kr\u00e4vs<\/p>\n<p>Genom detta fel l\u00e4r vi oss om standarden f\u00f6r att inkludera extern fil.<\/p>\n<p>V\u00e5r nedanst\u00e5ende kod<\/p>\n<pre><code>require_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");<\/code><\/pre>\n<p>b\u00f6r ers\u00e4ttas med<\/p>\n<pre><code>require_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";<\/code><\/pre>\n<p>Detta \u00e4r ett exempel p\u00e5 korrigering av kod. I ditt fall kan du hitta n\u00e5gra andra fel. Du b\u00f6r korrigera det genom att f\u00f6lja instruktionerna du fick.<\/p>\n<p>PHP_CodeSniffer-biblioteket tillhandah\u00e5ller ett kommando som automatiskt korrigerar kodning av standard\u00f6vertr\u00e4delser. Kom ih\u00e5g att det h\u00e4r kommandot inte korrigerar alla fel. Det tar hand om n\u00e5gra mindre fel som indragning, st\u00e4ngning av parenteser etc.<\/p>\n<p>Om du tittar p\u00e5 ovanst\u00e5ende sk\u00e4rmdump kommer du att m\u00e4rka att totalt 7 fel hittades i v\u00e5r fil. Efter fellistan, se raden<\/p>\n<p>&#8217;PHPCBF&#8217; KAN R\u00c4TTA DE 6 M\u00c4RKADE SNIFF-\u00d6VERTR\u00c4DELSERNA AUTOMATISKT<\/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 - Ett bibliotek f\u00f6r att f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder\" ><\/a><\/p>\n<p>F\u00f6rsta felet som \u00e4r relaterat till saknad fildokumentkommentar, vi m\u00e5ste ta hand om den h\u00e4r dokumentkommentaren. Kommandot &#8217;PHPCBF&#8217; kommer inte att korrigera det.<\/p>\n<p>Med detta sagt, l\u00e5t oss skriva kommandot f\u00f6r det.<\/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 - Ett bibliotek f\u00f6r att f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder\" ><\/a><\/p>\n<p>P\u00e5 sk\u00e4rmdumpen kan du se att det fixades 6 fel och 1 \u00e5terst\u00e5r. \u00c5terst\u00e5ende fel \u00e4r relaterat till fildokumentkommentar.<\/p>\n<p>S\u00e5 vi l\u00e4gger till filkommentarerna och v\u00e5r slutliga kod kommer att f\u00f6lja.<\/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>Nu, om vi k\u00f6r &#8217;phcs&#8217; -skriptet f\u00e5r vi inga fel i PHP-kodningsstandarder.<\/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 - Ett bibliotek f\u00f6r att f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder\" ><\/a><\/p>\n<p><strong>Obs!<\/strong> PHP_CodeSniffer validerar ocks\u00e5 dina JS- och CSS-filer.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du f\u00f6rb\u00e4ttra dina PHP-kodningsstandarder? PHP_CodeSniffer \u00e4r ett bibliotek som hj\u00e4lper dig att f\u00f6rb\u00e4ttra kodningsstandarder. I den h\u00e4r artikeln studerar vi<\/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":[279],"tags":[850],"class_list":["post-26767","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/26767","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=26767"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/26767\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=26767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=26767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=26767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}