{"id":229278,"date":"2022-11-11T10:19:00","date_gmt":"2022-11-11T07:19:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229278"},"modified":"2022-11-09T06:16:20","modified_gmt":"2022-11-09T03:16:20","slug":"wordpressi-helilooja-1-osa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-helilooja-1-osa\/","title":{"rendered":"WordPressi helilooja, 1. osa"},"content":{"rendered":"\n<p>Olgu, p\u00e4rast k\u00f5igi erinevate teekide l\u00e4bir\u00e4\u00e4kimist, mis v\u00f5ivad aidata teie t\u00f6\u00f6 koodikvaliteeti parandada, tekitab see siiski k\u00fcsimuse:<\/p>\n<p>Kuidas panna need projektid meie koodibaasi vastu t\u00f6\u00f6tama?<\/p>\n<p>L\u00fchidalt, selleks on vaja <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">heliloojat<\/a>. Kui te pole seda kunagi kasutanud, olen <a href=\"https:\/\/tommcfarlin.com\/setting-php-and-composer-in-mamp\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sellest varem l\u00fchidalt kirjutanud<\/a>, kuid kavatsen anda p\u00f5hit\u00f5ed selle kohta, mida vajate selle kasutamise alustamiseks ja \u00fclalnimetatud teegid teie t\u00f6\u00f6s.<\/p>\n<p>Nii selles kui ka j\u00e4rgmises postituses jagan, kuidas k\u00f5ike kohapeal k\u00f5ige elementaarsemal kujul seadistada ja kuidas see Gitiga integreerub, et saaksite seda oma igap\u00e4evaelus kasutama hakata.<\/p>\n<h2>Helilooja konfigureerimine WordPressi jaoks<\/h2>\n<p>Seal on palju teavet, mida saab (ja ma v\u00e4idan, et see peaks minema Composeri faili). See h\u00f5lmab selliseid asju nagu teave autori kohta, PSR, teave jne. Kuid see ei kuulu selle postituse ulatusse. Selle asemel tahan jagada minimaalset teavet selle teabe seadistamiseks ja konfigureerimiseks.<\/p>\n<h3>N\u00e4idiskataloog<\/h3>\n<p>Oletame, et alustate hetkeks t\u00f6\u00f6d WordPressiga seotud pistikprogrammi v\u00f5i millegi kallal, mis n\u00f5uab erinevaid eelmises seerias k\u00e4sitletud teeke. Ja kui seadistate selle jaoks kataloogi, on teil v\u00e4ga v\u00e4he faile. V\u00f5ib paar t\u00fchja PHP-faili, vara jne. V\u00f5ib-olla n\u00e4eb see v\u00e4lja selline:<\/p>\n<p>T\u00f5si, \u00fclaltoodud n\u00e4ide on juba veidi ees sellest, milline v\u00f5ib teie t\u00f6\u00f6 v\u00e4lja n\u00e4ha, kuna:<\/p>\n<ul>\n<li>Seal on <code>composer.lock<\/code>\u00a0fail, mis n\u00e4itab, et Composer on k\u00e4ivitatud,<\/li>\n<li>Sellel on <code>vendor<\/code>\u00a0kataloog, mis n\u00e4itab, et teegid on installitud Composeri kaudu,<\/li>\n<li>Seal on <code>grumphp.yml<\/code>\u00a0fail, mis m\u00e4\u00e4rab, kuidas GrumPHP peaks koodi nuuskimisel t\u00f6\u00f6tama (ja ma k\u00e4sitlen seda hiljem).<\/li>\n<\/ul>\n<p>Kuid \u00fclaltoodu olemus on sama: teil on <code>composer.json<\/code>ja see m\u00e4\u00e4ratleb ja sisaldab eelmise postituse p\u00f5hjal k\u00f5ike, mida me vajame. Kuidas me siis selle seadistame?<\/p>\n<h3>Helilooja seadistamine<\/h3>\n<p>Esiteks peab teil olema idee, kuidas kavatsete oma pistikprogrammi struktureerida. N\u00e4iteks on mul selline pistikprogrammi seadistus:<\/p>\n<ul>\n<li>K\u00f5ik PHP-failid asuvad <code>src<\/code>\u00a0kataloogis,<\/li>\n<li>K\u00f5ik CSS, JavaScript, pildid jne failid on <code>assets<\/code>\u00a0kataloogis,<\/li>\n<li>Kataloog <code>vendor<\/code>\u00a0on m\u00f5eldud asjade jaoks, mis on installitud Composeri kaudu,<\/li>\n<li><code>views<\/code>\u00a0on see, mida kasutatakse projekti esiotsas.<\/li>\n<\/ul>\n<p>N\u00e4iteks:<\/p>\n<\/p>\n<p>Teiseks soovite k\u00f5nealuses kataloogis luua faili nimega <code>composer.json<\/code>. Seda saab teha terminali kaudu, andes lihtsalt <code>touch<\/code>\u00a0k\u00e4su, v\u00f5i saate selle luua oma IDE-s.<\/p>\n<p>Oluline on see, et seal on <code>src<\/code>\u00a0kataloog, sest see on kataloog, mis sisaldab meie PHP-faile ja see on kataloog, mida me tahame nuusutada.<\/p>\n<h3>P\u00f5hiline helilooja fail<\/h3>\n<p>Seda arvestades on siin <code>composer.json<\/code>p\u00f5hifail, mida saate oma projektides kasutada eelmiste seeriate ja allpool <a href=\"https:\/\/gist.github.com\/tommcfarlin\/60ac0e1fba9fa152fc57622e3866d6dc\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">jagatu<\/a> p\u00f5hjal :<\/p>\n<pre><code>{\n  \"name\": \"pressware\/demo-wordpress-plugin\",\n  \"description\": \"This file is used to show how to configure a WordPress plugin using Composer.\",\n  \"autoload\": {\n    \"psr-4\": {\n      \"Pressware\": \"src\/\"\n    }\n  },\n  \"require-dev\": {\n    \"phpro\/grumphp\": \"^0.11.6\",\n    \"phpmd\/phpmd\": \"^2.6\",\n    \"phpunit\/phpunit\": \"5.7.21\",\n    \"nikic\/php-parser\": \"^3.0\",\n    \"sebastian\/phpcpd\": \"^3.0\",\n    \"povils\/phpmnd\": \"^1.1\",\n    \"squizlabs\/php_codesniffer\": \"^3.0\",\n    \"jakub-onderka\/php-parallel-lint\": \"^0.9.2\",\n    \"sensiolabs\/security-checker\": \"^4.0\"\n  }\n}<\/code><\/pre>\n<p>\u00dclaltoodud faili vaadates saate seda s\u00f5eluda j\u00e4rgmiselt.<\/p>\n<ol>\n<li>2 ja 3. rida kirjeldavad pistikprogrammi sisu. Need on ka teised valdkonnad selles failis, et anda rohkem teavet selle kohta, mida tuleb teha.<\/li>\n<li>Read 4 kuni 8 on olulised, kuna need selgitavad, et me kasutame automaatseks laadimiseks <a href=\"http:\/\/www.php-fig.org\/psr\/psr-4\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PSR-4<\/a> ja et k\u00f5ik failid kuuluvad \u00fclataseme nimeruumi alla <code>Pressware<\/code>ja PHP-failid on <code>src<\/code>\u00a0kataloogis.<\/li>\n<li>Read 9\u201318 h\u00f5lmavad k\u00f5iki eelmises seerias k\u00e4sitletud faile.<\/li>\n<\/ol>\n<p>J\u00e4rgmisena andke terminalis j\u00e4rgmine k\u00e4sk:<\/p>\n<p><code>$ composer install<\/code><\/p>\n<p>Ja see installib need paketid.<\/p>\n<h2>Aga kohustused?<\/h2>\n<p>Veendumaks, et nuusutate ja k\u00e4sitlete kohustusi \u00f5igesti, on oluline konfigureerida GrumPHP nii, et see vaatab faile. Aga ma vaatan seda j\u00e4rgmises postituses.<\/p>\n<p>Vahepeal on ehk hea v\u00f5imalus demoplugina seadistamiseks ja \u00fclaltoodud koodiga harjutamiseks. Selle \u00f5ige seadistamine esimesel korral v\u00f5ib olla keeruline. \u00d5nneks on paljusid v\u00e4ljundvigu v\u00e4ga lihtne m\u00f5ista, nii et nende lahendamine on suhteliselt lihtne.<\/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 esimene kaheosalisest seeriast, kuidas konfigureerida Composerit WordPressi arendamiseks nii, et saaksite oma t\u00f6\u00f6s kvaliteetsemat koodi kirjutada).<\/p>\n","protected":false},"author":1,"featured_media":166003,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,749,1017],"tags":[1165],"class_list":["post-229278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-avatud-laehtekoodiga","category-kasulikud-saidid","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229278","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=229278"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229278\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/166003"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}