{"id":229350,"date":"2022-11-13T15:27:00","date_gmt":"2022-11-13T12:27:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229350"},"modified":"2022-11-13T15:28:54","modified_gmt":"2022-11-13T12:28:54","slug":"wordpressi-helilooja-2-osa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-helilooja-2-osa\/","title":{"rendered":"WordPressi helilooja, 2. osa"},"content":{"rendered":"\n<p>Selles postituses v\u00f5tan kokku selle, mida ma <a href=\"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-helilooja-1-osa\/\" title=\"eile\">eile<\/a> jagama hakkasin: kasutades t\u00f6\u00f6riistu ja <a href=\"https:\/\/tommcfarlin.com\/tag\/libraries-for-wordpress-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">teeke<\/a>, mida olen koos Composeriga jaganud, et nuusutada arenduse ajal tehtud kohustusi enne, kui kood hoidlasse j\u00f5uab.<\/p>\n<p>Ideaalis soovite alati oma terminalis n\u00e4ha midagi sellist, kui sisestate oma koodi:<\/p>\n<p>Kuid see pole alati nii. Nagu enamiku asjade puhul, mida rohkem harjutate, seda rohkem harjute kirjutama koodi, mis edastab automaatselt erinevad reeglid (ja nende kohandused) tehtud nuusutused.<\/p>\n<p>Enne seda peate siiski oma hoidlas konfigureerima GrumPHP.<\/p>\n<h2>Helilooja WordPressile: Sniffing Commits<\/h2>\n<p>Eile esitasin n\u00e4idise <code>composer.json<\/code>\u00a0, nii et t\u00e4na vaatame GrumPHP konfiguratsioonifaili n\u00e4idist ja vaatame, mida iga osa teeb.<\/p>\n<p>Oluline on m\u00e4rkida, et kuigi osa sellest, mida n\u00e4ete, ei ole projekti jaoks ebat\u00fc\u00fcpiline, saate seda iga kasutatava projekti puhul nii palju kui soovite. M\u00f5nikord v\u00f5ite soovida, et see oleks rohkem keskendunud kui praegu; muul ajal ei pruugi te m\u00f5nest selle pakutavast nuusutamisest hoolida.<\/p>\n<h3>Esialgne konfiguratsioon<\/h3>\n<p>See t\u00e4hendab, et p\u00e4rast GrumPHP installimist loob see peaaegu t\u00fchja <code>grumphp.yml<\/code>faili, mis on konfigureerimiseks valmis. N\u00e4iteks <a href=\"https:\/\/gist.github.com\/tommcfarlin\/ab0cd032408fdc5cc30c035d77ea49ba#file-00-initial-grumphp-yml\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">peaksite n\u00e4gema seda<\/a> :<\/p>\n<pre><code>parameters:\n    git_dir:. bin_dir: vendor\/bin\n    tasks:<\/code><\/pre>\n<p>Pange t\u00e4hele, et sellel pole muud kui t\u00e4psustada:<\/p>\n<ul>\n<li>hoidla asukoht,<\/li>\n<li>Composeri kaudu installitud binaarfailide asukoht,<\/li>\n<li>\u00fclesandeid, mida t\u00e4ita.<\/li>\n<\/ul>\n<p>Pange t\u00e4hele, et olen alati kasutanud &quot;.&quot; oma hoidla asukoha jaoks, sest ma pole seda kunagi installinud hoidlasse, kus ma t\u00f6\u00f6tan.<\/p>\n<p>Sama kehtib ka helilooja binaarfailide kohta. See t\u00e4hendab, et p\u00e4rast selle installimist Composeri kaudu j\u00e4tan need algsesse asukohta.<\/p>\n<p>Ja l\u00f5puks on esialgne <code>tasks<\/code>k\u00e4skkiri t\u00fchi, sest tegelikult pole veel midagi k\u00e4ivitada. Seda ma j\u00e4rgmises etapis vaatlen.<\/p>\n<h3>GrumPHP seadistamine<\/h3>\n<p>Kui olete oma teegid installinud ja olete valmis veidi konfigureerima, saate ehk teha midagi <a href=\"https:\/\/gist.github.com\/tommcfarlin\/ab0cd032408fdc5cc30c035d77ea49ba#file-01-sample-grumphp-yml\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sellist<\/a> :<\/p>\n<pre><code>parameters:\n    git_dir:. bin_dir: vendor\/bin\n    tasks:\n      securitychecker:\n      composer:\n      jsonlint:\n      xmllint:\n      yamllint:\n      phpstan:\n      phplint:\n      phpunit:\n      phpcs:\n      phpcpd:\n      phpmnd:\n      phpparser:\n        visitors:\n          no_exit_statements: ~\n          never_use_else: ~\n          forbidden_function_calls:\n            blacklist:\n              - \"die\"\n              - \"var_dump\"\n              - \"exit\"\n      phpversion:\n        project: '7.0'\n       phpmd:\n         ruleset: ['phpmd.xml.dist']<\/code><\/pre>\n<p>Ma ei hakka k\u00f5ike \u00fclalpool kirjeldama (sest seal pole palju visandada), kuid siiski on m\u00f5ned asjad, millele t\u00e4helepanu p\u00f6\u00f6rata:<\/p>\n<ul>\n<li>Pange t\u00e4hele, et \u00fclesannete loend on palju pikem kui algses kataloogis m\u00e4\u00e4ratletud. See on normaalne ja see t\u00e4hendab, et tahame neid t\u00f6\u00f6riistu k\u00e4itada, kasutades k\u00f5igi nende t\u00f6\u00f6riistade vaikekonfiguratsiooni.<\/li>\n<li>M\u00f5ned reeglid on nende <code>~<\/code>k\u00f5rval. See s\u00f5ltub k\u00f5nealusest \u00fclesandest, kuid tavaliselt t\u00e4hendab see, et soovime kasutada vaikekonfiguratsiooni.<\/li>\n<li>On selliseid \u00fclesandeid, <code>phpparser<\/code>millel on alam\u00fclesanded. M\u00f5ned neist, nagu eespool n\u00e4ete, kasutavad vaikek\u00e4itumist. Teised valivad sellised terminid nagu <code>die<\/code>, <code>var_dump<\/code>, <code>exit<\/code>ja muud musta nimekirja. See t\u00e4hendab, et nagu poleks direktiiv piisavalt selge, p\u00f5hjustame GrumPHP eba\u00f5nnestumise, kui m\u00f5ni neist v\u00e4idetest tuvastatakse.<\/li>\n<li>Samamoodi vaadake <code>phpmd<\/code>. See viitab reeglistikule, mida kasutame koodis erinevate jamade otsimisel. Sel juhul osutab see <code>dist<\/code>\u00a0failile, kuid v\u00f5ib osutada mis tahes kohandatud reeglistikule, mille olete m\u00e4\u00e4ratlenud.<\/li>\n<\/ul>\n<p>See on vaid n\u00e4ide sellest, mida saate GrumPHP-ga teha. See t\u00e4hendab, et saate installida m\u00f5ned teegid Composeri kaudu, need installida ja seej\u00e4rel GrumPHP-d kohandada, et saaksite selle pakutavaid funktsioone \u00e4ra kasutada.<\/p>\n<p>Nagu ka teiste sarnaste projektide puhul, soovitan tungivalt lugeda <a href=\"https:\/\/github.com\/phpro\/grumphp\/blob\/master\/doc\/tasks.md\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentatsiooni<\/a>, mis on olemas erinevate GrumPHP-ga integreeritavate \u00fclesannete kohta.<\/p>\n<h2>Kas see on WordPressi helilooja?<\/h2>\n<p>Jah ja ei. <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> on PHP-projektide \u00fcldotstarbeline paketihaldur; n\u00e4ib aga, et me WordPressi maailmas seda eriti ei n\u00e4e. See ei t\u00e4henda, et seda ei kasutata (on), vaid sellest, et olla teadlik Composerist ja selle kasutamisest, ei piisa.<\/p>\n<p>Selle asemel arvan, et on oluline teada, kuidas kasutada Composerit WordPressi jaoks, et saaksime kirjutada v\u00f5imalikult k\u00f5rge kvaliteediga koodi, tagades samal ajal, et j\u00e4rgime mis tahes kodeerimisstandardeid, mida oleme samuti valinud. .<\/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>See on viimane kaheosalisest seeriast, kuidas konfigureerida Composerit WordPressi arendamiseks nii, et saaksite oma t\u00f6\u00f6sse kvaliteetsemat koodi kirjutada).<\/p>\n","protected":false},"author":1,"featured_media":223641,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,842,802],"tags":[1165],"class_list":["post-229350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-opetused","category-php-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229350","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=229350"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229350\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/223641"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}