{"id":229812,"date":"2022-11-10T15:28:00","date_gmt":"2022-11-10T12:28:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229812"},"modified":"2022-11-10T15:30:01","modified_gmt":"2022-11-10T12:30:01","slug":"kirjastot-wordpress-laajennuksille-osa-3","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/kirjastot-wordpress-laajennuksille-osa-3\/","title":{"rendered":"Kirjastot WordPress-laajennuksille, osa 3"},"content":{"rendered":"<p>Kolmessa viimeisess\u00e4 viestiss\u00e4 olen puhunut WordPlugins-kirjastoista, jotka ovat mielest\u00e4ni eritt\u00e4in hy\u00f6dyllisi\u00e4 korkealaatuisten koodikantojen kirjoittamisessa.<\/p>\n<p>Jos et ole seurannut, voit joko lukea aiemmat viestit:<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-laajennusten-kirjastot-osa-1\/\" title=\"WordPress-laajennusten kirjastot, osa 1\">WordPress-laajennusten kirjastot, osa 1<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/kirjastot-wordpress-laajennuksille-osa-2\/\" title=\"Kirjastot WordPress-laajennuksille, osa 2\">Kirjastot WordPress-laajennuksille, osa 2<\/a><\/li>\n<\/ul>\n<p>Tai voit vain tarkastella t\u00e4h\u00e4n menness\u00e4 lueteltuani ty\u00f6kaluluetteloa:<\/p>\n<ul>\n<li><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPUnit<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a><\/li>\n<li><a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/sebastianbergmann\/phpcpd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPCPD<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/povils\/phpmnd\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMND<\/a><\/li>\n<\/ul>\n<p>T\u00e4m\u00e4 viesti p\u00e4\u00e4tt\u00e4\u00e4 sarjan viimeisill\u00e4 ty\u00f6kaluilla, <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">joita<\/a> yleens\u00e4 k\u00e4yt\u00e4mme rakentaessamme ratkaisuja muille.<\/p>\n<h2>Kirjastot WordPress-laajennuksille, The End<\/h2>\n<p>T\u00e4m\u00e4n sarjan tarkoituksena on ollut jakaa ty\u00f6kaluja, apuohjelmia ja kirjastoja WordPress-laajennuksille, jotka olen l\u00f6yt\u00e4nyt \u2013 muiden kautta ja kokemuksen kautta \u2013 auttamaan laadukkaan koodin kirjoittamisessa ennen sen sitoutumista Gitiin.<\/p>\n<p>Joten t\u00e4ss\u00e4 on selitys kahdesta viimeisest\u00e4 kirjastosta.<\/p>\n<h3><a href=\"https:\/\/github.com\/JakubOnderka\/PHP-Parallel-Lint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP Parallel Lint<\/a><\/h3>\n<p>Projektin <a href=\"https:\/\/github.com\/JakubOnderka\/PHP-Parallel-Lint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kotisivuilta<\/a> t\u00e4m\u00e4n kirjaston tarkoitus on seuraava:<\/p>\n<p>Mutta mit\u00e4 t\u00e4m\u00e4 oikein tarkoittaa?<\/p>\n<h3><a href=\"https:\/\/github.com\/sensiolabs\/security-checker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Turvatarkistus<\/a><\/h3>\n<p>Mielest\u00e4ni on reilua sanoa, ett\u00e4 useimmat kehitt\u00e4j\u00e4t haluavat kirjoittaa suojattua koodia, mutta on vaikeaa olla tietoinen kaikista olemassa olevista haavoittuvuuksista (varsinkin kun ne muuttuvat p\u00e4ivitt\u00e4in).<\/p>\n<\/p>\n<p>Siin\u00e4 <a href=\"https:\/\/github.com\/sensiolabs\/security-checker\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Security Checker<\/a> tulee peliin:<\/p>\n<blockquote>\n<p>SensioLabs Security Checker on komentorivity\u00f6kalu, joka tarkistaa, k\u00e4ytt\u00e4\u00e4k\u00f6 sovelluksesi riippuvuuksia, joissa on tunnettuja tietoturva-aukkoja. Se k\u00e4ytt\u00e4\u00e4 SensioLabs Security Check -verkkopalvelua ja Security Advisories -tietokantaa.<\/p>\n<\/blockquote>\n<p>Kuten muutkin <a href=\"https:\/\/tommcfarlin.com\/tag\/libraries-for-wordpress-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4ss\u00e4 sarjassa<\/a> mainitut kirjastot, t\u00e4m\u00e4 on kirjasto, joka kytkeytyy vahvistusprosessiin ja analysoi koodisi edell\u00e4 mainittuihin tietokantoihin n\u00e4hden.<\/p>\n<h2>N\u00e4iden k\u00e4ytt\u00e4minen projekteissa<\/h2>\n<p>T\u00e4m\u00e4 kattaa t\u00e4ydellisen luettelon ty\u00f6kaluista, jotka aion kattaa t\u00e4t\u00e4 sarjaa kirjoittaessani; Joillekin se kuitenkin her\u00e4tt\u00e4\u00e4 edelleen kysymyksen siit\u00e4, kuinka n\u00e4m\u00e4 liitet\u00e4\u00e4n WordPress-pohjaisiin projekteihin.<\/p>\n<p>Joten tulevassa postauksessa k\u00e4yn l\u00e4pi juuri sen.<\/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>Viimeinen postaus WordPress-laajennusten kirjastoista, joita tiimini ja min\u00e4 k\u00e4yt\u00e4mme ty\u00f6skennelless\u00e4mme korkealaatuisten ratkaisujen parissa muille.<\/p>\n","protected":false},"author":1,"featured_media":166024,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[1018,719,843],"tags":[1166],"class_list":["post-229812","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hyodyllisia-sivustoja","category-kehittaejae","category-opetusohjelmia","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229812","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=229812"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229812\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/166024"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=229812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=229812"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=229812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}