{"id":229253,"date":"2022-11-10T13:49:00","date_gmt":"2022-11-10T10:49:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229253"},"modified":"2022-11-10T13:49:02","modified_gmt":"2022-11-10T10:49:02","slug":"wordpressi-pistikprogrammide-raamatukogud-1-osa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-pistikprogrammide-raamatukogud-1-osa\/","title":{"rendered":"WordPressi pistikprogrammide raamatukogud, 1. osa"},"content":{"rendered":"\n<p>Mida rohkem te WordPressiga t\u00f6\u00f6tate, eriti kui kasutate selliseid t\u00f6\u00f6riistu nagu <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> ja muud sarnased, seda t\u00f5en\u00e4olisemalt leiate teatud teeke, t\u00f6\u00f6riistu ja sarnaseid asju, mis moodustavad teie t\u00f6\u00f6tavate projektide aluse.<\/p>\n<p>M\u00f5nikord v\u00f5ite need leida, kui otsite teiste inimeste koodi, v\u00f5ib-olla leiate need GitHubi sirvides v\u00f5i v\u00f5ib-olla soovitab <a href=\"https:\/\/twitter.com\/tobyschrapel\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">keegi, kellega koos<\/a> <a href=\"https:\/\/twitter.com\/twigpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00f6\u00f6tate<\/a>, olenevalt projektist teeki (v\u00f5i m\u00f5nda).<\/p>\n<p>Isiklikult olen kogenud k\u00f5ike eelnevat ja mida rohkem ma t\u00f6\u00f6tan enda v\u00f5i teiste jaoks lahenduste loomise kallal, seda rohkem leian end iga projekti jaoks sama vundamenti rajamas (mis on tavaliselt mingi pistikprogramm). .<\/p>\n<h2>WordPressi pistikprogrammide raamatukogud<\/h2>\n<p>Sel eesm\u00e4rgil arvasin, et tasub jagada teeke, mida ma WordPressi pistikprogrammide loomisel kasutan. Sisu jaotatakse m\u00f5ne postituse vahel, et iga postitus oleks l\u00fchike ja keskendunud, kuid v\u00f5ib-olla leiate midagi, mida te pole varem kasutanud (v\u00f5i mis parandab teie praegust kasutust).<\/p>\n<h3><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPUnit<\/a><\/h3>\n<p>Iga\u00fcks, kes on kirjutanud mis tahes koodi mis tahes programmeerimiskeeles, tunneb t\u00f5en\u00e4oliselt igat t\u00fc\u00fcpi *Unit teeki. L\u00fchidalt \u00f6eldes on see viis \u00fchikutestide h\u00f5lpsaks kirjutamiseks.<\/p>\n<p>Projekti <a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kodulehelt<\/a> :<\/p>\n<blockquote>\n<p>PHPUnit on programmeerijale orienteeritud PHP testimisraamistik. See on xUnit arhitektuuri eksemplar \u00fcksuste testimise raamistike jaoks.<\/p>\n<\/blockquote>\n<p>Ma ei ole keegi, kes tellib tingimata 100% koodikatvuse (ja see on teise postituse teema), kuid kui kavatsete kirjutada \u00fchikuteste, siis on see defacto teek teie koodi \u00fcksuse testimiseks.<\/p>\n<h3><a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a><\/h3>\n<p>Kogu selle aasta jooksul on <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP-st<\/a> saanud vaieldamatult minu lemmikteek (kuigi seda on paremaks muutnud t\u00e4iendavad teegid, mida ma selle postituste seeria jooksul kajastan).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166075-61e78ddea0549.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-166075-61e78ddea0549.png\" alt=\"WordPressi pistikprogrammide raamatukogud, 1. osa\"><\/a><\/p>\n<p>Olen sellest ka teistes postitustes r\u00e4\u00e4kinud. Kuigi see kirjeldab end kui &quot;koodikvaliteedi t\u00f6\u00f6riista&quot;, ei saa te t\u00f5esti eeliseid n\u00e4ha enne, kui \u00fchendate selle koodi j\u00e4lgimiseks enne hoidlasse salvestamist.<\/p>\n<p>Pikem kirjeldus on j\u00e4rgmine:<\/p>\n<blockquote>\n<p>Kui testid eba\u00f5nnestuvad, ei saa te muudatusi sisse viia. See mugav t\u00f6\u00f6riist mitte ainult ei paranda teie koodibaasi, vaid \u00f5petab ka teie kaast\u00f6\u00f6tajaid kirjutama paremat koodi, j\u00e4rgides teie meeskonnana kindlaks m\u00e4\u00e4ratud parimaid tavasid.<\/p>\n<\/blockquote>\n<p>Ja just nagu oleksite oma IDE-s kasutanud mis tahes <a href=\"https:\/\/wordpress.mediadoma.com\/et\/psr-ide-kasutamine-vorreldes-wordpressi-kodeerimisstandarditega\/\" title=\"kodeerimisstandardite\">kodeerimisstandardite<\/a> monitori, on see \u00fcks neist asjadest, mille kasutamine v\u00f5ib alguses pettumust valmistada.<\/p>\n<p>Kuid seda \u00f5ppides on lihtsam teada, mida see m\u00e4rgib, nii et hakkate automaatselt kirjutama k\u00f5rgema kvaliteediga koodi.<\/p>\n<h3><a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a><\/h3>\n<p><a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a> (l\u00fchend s\u00f5nast PHP Mess Detector) t\u00f6\u00f6tab h\u00e4sti koos GrumPHP-ga, kuna suudab teie koodi t\u00f6\u00f6delda enne, kui selle hoidlasse sisestate.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166075-61e78de324f34.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-166075-61e78de324f34.png\" alt=\"WordPressi pistikprogrammide raamatukogud, 1. osa\"><\/a><\/p>\n<p>Projekt kirjeldab ennast j\u00e4rgmiselt:<\/p>\n<blockquote>\n<p>See v\u00f5tab ette antud PHP l\u00e4htekoodi baasi ja otsib selles allikas mitmeid v\u00f5imalikke probleeme.<\/p>\n<\/blockquote>\n<p>Nagu paljude sarnaste teekide puhul, saab see konkreetne konfigureerida reeglistiku, et saaksite asju h\u00f5lpsalt sisse ja v\u00e4lja l\u00fclitada vastavalt teie v\u00f5i teie meeskonna eelistustele.<\/p>\n<h3><a href=\"https:\/\/github.com\/nikic\/PHP-Parser\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP-parser<\/a><\/h3>\n<p>Idee oma koodi anal\u00fc\u00fcsimiseks PHP-parseri teegi seadistusest tundub natuke meta, eks? Pean silmas seda, et teil on PHP k\u00e4itusaeg ja paljud IDE-d teevad seda ka, kuid see toimib veidi teistmoodi.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166075-61e78de6eec7f.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-166075-61e78de6eec7f.png\" alt=\"WordPressi pistikprogrammide raamatukogud, 1. osa\"><\/a><\/p>\n<p>Hoidlast:<\/p>\n<blockquote>\n<p>See on PHP 5.2 kuni PHP 7.1 parser, mis on kirjutatud PHP-s. Selle eesm\u00e4rk on lihtsustada staatilise koodi anal\u00fc\u00fcsi ja manipuleerimist.<\/p>\n<\/blockquote>\n<p>Neile, kes tunnevad programmeerimiskeelte (ja seega ka grammatika) t\u00f6\u00f6d, on m\u00f5te teha koodi <a href=\"https:\/\/en.wikipedia.org\/wiki\/Static_program_analysis\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">staatiline anal\u00fc\u00fcs .<\/a><\/p>\n<p>Sellest hoolimata on see veel \u00fcks teek, mis aitab parandada koodi kvaliteeti, v\u00e4hendades koodi keerukust.<\/p>\n<h2>Rohkem tuleb<\/h2>\n<p>Sarja l\u00f5pus jagan, kuidas lisada need k\u00f5ik <code>composer.json<\/code>faili, mida saate oma projektis kasutada.<\/p>\n<p>Kui t\u00f6\u00f6tate kliendi jaoks lahenduse kallal, peate v\u00f5ib-olla muutma k\u00f5igi nende t\u00f6\u00f6riistade versioone, kuid avastate, et enamik neist pakub tuge PHP5.6-le ja kuni PHP7.1-le.<\/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>Esimene postitus seeriast, mis k\u00e4sitleb WordPressi pistikprogrammide teeke, mida minu meeskond ja mina kasutame teistele kvaliteetsete lahenduste kallal t\u00f6\u00f6tades.<\/p>\n","protected":false},"author":1,"featured_media":166076,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,1017,916,863],"tags":[1165],"class_list":["post-229253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kasulikud-saidid","category-muud","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=229253"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229253\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/166076"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}