{"id":229177,"date":"2022-11-08T10:32:00","date_gmt":"2022-11-08T07:32:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229177"},"modified":"2022-11-09T05:50:48","modified_gmt":"2022-11-09T02:50:48","slug":"psr-ide-kasutamine-vorreldes-wordpressi-kodeerimisstandarditega","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/psr-ide-kasutamine-vorreldes-wordpressi-kodeerimisstandarditega\/","title":{"rendered":"PSR-ide kasutamine (v\u00f5rreldes WordPressi kodeerimisstandarditega)"},"content":{"rendered":"\n<p>Praegu ma ei tea, mitu artiklit olen <a href=\"https:\/\/github.com\/WordPress-Coding-Standards\/WordPress-Coding-Standards\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressi kodeerimisstandardite<\/a> olulisusest kirjutanud (piisab, et linkida neile <a href=\"https:\/\/tommcfarlin.com\/psrs-wordpress-coding-standards\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">siin<\/a>, <a href=\"https:\/\/tommcfarlin.com\/following-the-wordpress-coding-standards\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">siin<\/a> ja <a href=\"https:\/\/tommcfarlin.com\/wordpress-coding-standards-for-the-planet\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">siin<\/a>, mis vist loeb midagi).<\/p>\n<p>Kuid p\u00e4rast seda, kui olen teinud klientide jaoks piisavalt projekte ja <a href=\"https:\/\/twitter.com\/tobyschrapel\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00f6\u00f6tanud arendajatega,<\/a> kes on minust palju targemad ja tuttavad t\u00e4iustatud t\u00f6\u00f6riistadega, olen ma kohas, kus otsustan <a href=\"http:\/\/www.php-fig.org\/psr\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hakata kasutama<\/a> PSR-e WordPressi WordPressi arenduses.<\/p>\n<p>Oh seda draamat, eks?<\/p>\n<p>T\u00f5siselt aga. Sellel on p\u00f5hjused ja m\u00f5nikord arvan, et WordPressi kodeerimisstandardeid tuleks siiski kasutada, kuid olen kiiresti veendunud, et mis tahes moodsa projekti WordPressi peale ehitamine peaks kasutama kaasaegsemaid PHP t\u00f6\u00f6riistu (mida ma mainin l\u00fchidalt hiljem).<\/p>\n<h2>PSR-ide kasutamine WordPressi arendamisel<\/h2>\n<p>Sellised postitused annavad sageli \u00fclevaate arutelust v\u00f5i dramaatilisest vastusest WordPressis, mis pole minu eesm\u00e4rk ega ka minu arvates vajalik. Ausalt \u00f6eldes tean p\u00e4ris palju <a href=\"https:\/\/twitter.com\/GaryJ\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">teisi<\/a> <a href=\"https:\/\/twitter.com\/tobyschrapel\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">arendajaid<\/a> <a href=\"https:\/\/twitter.com\/rarst\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">, kes<\/a> <a href=\"https:\/\/twitter.com\/twigpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">k\u00f5ik<\/a> on seda juba ammu teinud, sellest r\u00e4\u00e4kinud, edasi liikunud ja j\u00e4tkanud edu nii oma \u00e4ris kui ka hobiprojektides.<\/p>\n<p>Kuid arvestades, et olen nii palju r\u00e4\u00e4kinud \u00fchest ja teisest, m\u00f5tlesin, et tasub jagada oma seisukohta, miks ma otsustan selle nihke praegu teha, ja selle p\u00f5hjustest.<\/p>\n<h3>1 V\u00f5rdsus PHP kogukonnaga<\/h3>\n<p>Umbes viimase aasta jooksul ja tegelikult ainult selle aasta viimaste kuude jooksul olen harjunud:<\/p>\n<ul>\n<li>kogenumad PHP-le orienteeritud arendajas\u00f5brad, kes toetavad t\u00f6\u00f6riistu, mis eeldavad, et PSR-id v\u00f5etakse kasutusele,<\/li>\n<li><a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\/issues\/604\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\/\/@codingStandardsIgnoreStart ja \/\/@codingStandardsIgnoreEnd<\/a> kasutamine minu koodis,<\/li>\n<li>kohandatud reeglistikud minu projektide jaoks, mis p\u00f5hinevad keskkondadel, kus need on juurutatud,<\/li>\n<li>ja veel.<\/li>\n<\/ul>\n<p>L\u00f5ppkokkuv\u00f5ttes on see soov s\u00e4ilitada v\u00f5rdsus (v\u00f5i natuke sellest) suurema PHP kogukonnaga, kirjutades samal ajal ka loetavat standardip\u00f5hist koodi WordPressi peale. Samuti sooviksin kasutada m\u00f5nda muud t\u00f6\u00f6riista ja olemasolevate t\u00f6\u00f6riistade uuemaid versioone (mida k\u00e4sitlen hiljem selles postituses).<\/p>\n<h3>2 Probleemid kaasaegse keskkonnaga<\/h3>\n<p>Selle postituse kirjutamise ajal oli <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> (mis on vajalik WordPressi kodeerimisstandardite k\u00e4itamiseks) versioonis <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\/tree\/3.0.2\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">3.0.2<\/a>. Siiski on PHPCS-i ja WordPressi kodeerimisstandarditega \u00fchilduvusprobleeme. <a href=\"https:\/\/github.com\/WordPress-Coding-Standards\/WordPress-Coding-Standards\/issues\/718\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">T\u00e4psemalt<\/a> :<\/p>\n<blockquote>\n<p>PHP CodeSnifferi uuel versioonil on m\u00f5ned toredad funktsioonid, kuid see sisaldab murrangulisi muudatusi, mis t\u00e4hendab, et WordPressi kodeerimisstandardid ei \u00fchildu.<\/p>\n<\/blockquote>\n<p>Selguse huvides (ja tarkvara olemuse t\u00f5ttu) on aja k\u00fcsimus, millal see parandatakse. Kuid kui t\u00f6\u00f6tate koodibaasi kallal ja kasutate Composerit ja WordPressi kodeerimisstandardeid, peate konkreetselt m\u00e4\u00e4rama PHP CodeSnifferi versiooni, mitte selle, mis praegu on uusim versioon.<\/p>\n<p>Lisaks olen kogenud probleeme klientidega, kus PSR-ide mittekasutamine WordPressi arenduses on p\u00f5hjustanud koodi juurutamisel veidra k\u00e4itumise. V\u00f5ib-olla v\u00f5iks m\u00f5elda, et nad peaksid keskkonda kohandama, kuid kui nad t\u00f6\u00f6tavad selle nimel, et neid kasutavatele inimestele oleksid k\u00e4ttesaadavad k\u00f5ige kaasaegsemad t\u00f6\u00f6riistad, siis miks taanduda?<\/p>\n<h3>3 \u00dchilduvus kaasaegsete t\u00f6\u00f6riistadega<\/h3>\n<p>L\u00f5puks on mitmeid kaasaegseid t\u00f6\u00f6riistu, mida ma pole saanud kasutada, r\u00e4\u00e4kimata \u00f5ppimisest, kuna seda, mida versioonide loomine toetab ja mida ei toeta.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166244-61e790be9cd6b.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-166244-61e790be9cd6b.png\" alt=\"PSR-ide kasutamine (v\u00f5rreldes WordPressi kodeerimisstandarditega)\" ><\/a><\/p>\n<p>N\u00e4iteks <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kasutasime<\/a> GrumPHP &#8211; <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">d<\/a> hiljutises projektis, mis toetab mitmesuguseid t\u00f6\u00f6riistu, kuid me ei saanud kasutada n\u00e4iteks <a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a> -d, kuna PSR-e ei kasutatud. Mis minusse puutub:<\/p>\n<ul>\n<li>Soovin oma oskusi arendajana (ja selles kontekstis PHP arendajana) pidevalt t\u00e4iendada.<\/li>\n<li>Moodsamate t\u00f6\u00f6riistade toe puudumine paneb mind hoidmismustrisse, mida ma muidu ei kogeks,<\/li>\n<li>Soovin j\u00e4tkata t\u00f6\u00f6d WordPressiga, kuid teha seda kaasaegsema t\u00f6\u00f6vooga<\/li>\n<\/ul>\n<p>Ja praegu tekitab PSR-ide mittekasutamine l\u00f5he \u00fclej\u00e4\u00e4nud PHP kogukonna ja WordPressi tegemiste vahel. Seega tahaksin edasi liikuda, t\u00f6\u00f6tades samal ajal projektide kallal lisaks tarkvarale, mida mulle endiselt meeldib kasutada.<\/p>\n<h2>Kuidas on lood WordPressi kodeerimisstandarditega<\/h2>\n<p>Mida see siis WordPressi kodeerimisstandardite ja varasemate postituste kohta t\u00e4hendab? Mitte midagi, t\u00f5esti. Kuidas ma seda n\u00e4en: WordPressi kodeerimisstandardeid tuleks kasutada alati, kui t\u00f6\u00f6tate WordPress Core&#8217;i v\u00f5i muuga, mis on sellega tihedalt integreeritud.<\/p>\n<p>Aga kui t\u00f6\u00f6tate millegi kallal, mis asub WordPressi peal v\u00f5i millegi kallal, mis kasutab WordPressi alusena, ja saate WordPressi arenduses kasutada PSR-e koos t\u00f6\u00f6riistadega, mis aitavad teie loodava koodibaasi kvaliteeti t\u00f5sta.<\/p>\n<p>Nii et v\u00e4hemalt praegu on see vaatenurk, mille ma omaks v\u00f5tan. Ootan p\u00f5nevusega, kuidas see j\u00e4rgmise paari kuu jooksul v\u00e4lja kujuneb. Ja nagu k\u00f5ige muu kohta, mida olen jaganud, jagan selle \u00fcmberl\u00fclitamise aspekte.<\/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>P\u00e4rast piisavalt palju targemate arendajatega koost\u00f6\u00f6d teinud projekte olen kohas, kus alustada PSR-ide kasutamist WordPressi arenduses.<\/p>\n","protected":false},"author":1,"featured_media":166245,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,842,863],"tags":[1165],"class_list":["post-229177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-opetused","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229177","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=229177"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229177\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/166245"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}