{"id":231056,"date":"2022-12-25T12:29:00","date_gmt":"2022-12-25T09:29:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231056"},"modified":"2022-12-25T12:31:20","modified_gmt":"2022-12-25T09:31:20","slug":"parem-wordpressi-kood-helilooja-lukustusfail","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/parem-wordpressi-kood-helilooja-lukustusfail\/","title":{"rendered":"Parem WordPressi kood: helilooja lukustusfail"},"content":{"rendered":"\n<p>Enne Composeri teemalise arutelu l\u00f5petamist on meil veel \u00fcks oluline asi arutada: <strong>tarnija<\/strong> kataloog (ja laiemalt ka Composeri lukufail).<\/p>\n<p>T\u00e4psemalt peame r\u00e4\u00e4kima sellest, miks me ei pea <strong>hankija<\/strong> kataloogi hoidlasse siduma, vaid sellest, kuidas meie kaast\u00f6\u00f6tajad saavad olla kindlad, et neil on meie koodibaasiga t\u00f6\u00f6tamiseks vajaliku tarkvara uusim versioon.<\/p>\n<p>Koodikvaliteedi t\u00f6\u00f6riistade kasutamine <a href=\"https:\/\/tommcfarlin.com\/tag\/better-wordpress-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">parema WordPressi koodi kirjutamiseks<\/a> on oluline, jah, kuid oluline on ka arusaamine, kuidas s\u00f5ltuvusi ja meie hoidlat \u00f5igesti hallata. Nii et enne nimetatud utiliitide vaatamist vaatame \u00fcle lukufaili, selle rolli ja selle, miks me ei pea <strong>hankija<\/strong> kataloogi oma hoidlasse siduma.<\/p>\n<h2>Parem WordPressi kood helilooja lukustusfailiga<\/h2>\n<p>Need, kes t\u00f6\u00f6tavad WordPressiga \u2013 ja v\u00f5ib-olla ka muudes PHP-p\u00f5histes raamistikes ja sihtasutustes (ma tegelikult ei tea, sest ma ei kipu nendega t\u00f6\u00f6tama) \u2013 toetuvad Composerile, mis on hea.<\/p>\n<p>See v\u00f5ib p\u00f5hjustada ka soovi kasutada kogu tarnija kataloogi allika juhtimist, mis pole hea.<\/p>\n<p>Nagu <a href=\"https:\/\/wordpress.mediadoma.com\/et\/toeoeriistad-parema-wordpressi-koodi-kirjutamiseks-helilooja\/\" title=\"eelmises postituses\">eelmises postituses<\/a> mainitud :<\/p>\n<blockquote>\n<p>Ja ma ei soovita hankija kataloogi oma hoidlasse kontrollida. Sellest v\u00f5ib hiljem saada tohutu kataloog ja see v\u00f5ib kahjustada kogu Composeri eesm\u00e4rki.<\/p>\n<\/blockquote>\n<p>Niisiis, kuidas saame tagada, et me ei lisa faile asjatult (ja seega ei suurenda hoidla suurust) hoidlasse, tagades samal ajal, et meie kaasautorid kasutavad sama tarkvara versiooni, mis meie?<\/p>\n<h3>Soov siduda hankijate kataloog<\/h3>\n<p>Need, kes on Composerit k\u00e4ivitanud ja tunnevad v\u00e4hemalt <strong>tarnija<\/strong> kataloogi n\u00e4gemist, olete t\u00f5en\u00e4oliselt harjunud n\u00e4gema mitut installitud s\u00f5ltuvuste kataloogi.<\/p>\n<p>Ja need on kasulikud; muidu te poleks neid kaasanud, eks?<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160092-61e705582e682.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-160092-61e705582e682.png\" alt=\"Parem WordPressi kood: helilooja lukustusfail\"><\/a><\/p>\n<p>Kuid siin on asi <strong>tarnija\u00a0<\/strong> kataloogi kohta: isegi kui teie projektiga on installitud vaid m\u00f5ned s\u00f5ltuvused, v\u00f5ib faili suurus olla suur. Ja see v\u00f5ib olla veelgi suurem, kui teil on palju s\u00f5ltuvusi.<\/p>\n<p>Sellele vaatamata n\u00e4ib selle allika kontrollile omistamine olevat m\u00f5istlik, eks? Tahame tagada, et k\u00f5igil oleks sama tarkvara versioon, mida me kasutame, ja tahame tagada, et nad ei peaks Composeriga tegelema.<\/p>\n<p>Siiski on ka teine \u200b\u200bviis. Ja see hoiab meie hoidla v\u00e4ikesena, tagades \u00fchtlasi, et meie s\u00f5ltuvuste versioonid hoitakse s\u00fcnkroonis nendega, kes hoidla kloonivad, hoidlale p\u00fchenduvad v\u00f5i mis tahes hoidlat kasutava pideva integreerimise utiliidi jaoks.<\/p>\n<h3>Lukustusfaili m\u00f5istmine<\/h3>\n<p>Enne tarnija kataloogist r\u00e4\u00e4kimist tahan puudutada veel \u00fcht olulist Composeri aspekti: lukufaili. See t\u00e4hendab, et kui k\u00e4ivitate oma terminalis <strong>installi-<\/strong> v\u00f5i <strong>v\u00e4rskendamisk\u00e4skluse<\/strong>, n\u00e4ete koos <strong>tarnija<\/strong> kataloogiga genereeritud lukufaili.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160092-61e7055c190d2.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-160092-61e7055c190d2.png\" alt=\"Parem WordPressi kood: helilooja lukustusfail\"><\/a><\/p>\n<p>Mis see fail on?<\/p>\n<p>Eelmine postitus n\u00e4itas konfiguratsioonifaili n\u00e4idet. \u00dcks asi, mida see fail v\u00f5imaldab meil teha, on m\u00e4\u00e4ratleda kolmanda osapoole teegid v\u00f5i s\u00f5ltuvused, mida saame oma projektides kasutada.<\/p>\n<p>Olen sellest r\u00e4\u00e4kinud <a href=\"https:\/\/tommcfarlin.com\/tag\/libraries-for-wordpress-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">teistes postitustes<\/a> (ja me saame seda selles sarjas hiljem veidi l\u00e4hemalt vaadata). Kuid siin tuleb m\u00e4ngu lukufail.<\/p>\n<p>L\u00fchidalt \u00f6eldes sisaldab lukufail alati teavet nende s\u00f5ltuvuste versiooni \u2013 <strong>t\u00e4pse<\/strong> versiooni \u2013 kohta, mida viimase <strong>installi<\/strong> v\u00f5i <strong>v\u00e4rskenduse<\/strong> k\u00e4ivitamisel projektiga kasutati.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160092-61e7056059bac.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-160092-61e7056059bac.png\" alt=\"Parem WordPressi kood: helilooja lukustusfail\"><\/a><\/p>\n<p><a href=\"https:\/\/getcomposer.org\/doc\/01-basic-usage.md#installing-without-composer-lock\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kasutusjuhendist<\/a> :<\/p>\n<blockquote>\n<p>Kui Composer on installimise l\u00f5petanud, kirjutab ta k\u00f5ik allalaaditud paketid ja nende t\u00e4psed versioonid faili composer.lock, lukustades projekti nendele konkreetsetele versioonidele.<\/p>\n<p>Peaksite faili composer.lock oma projekti reposse siduma, et k\u00f5ik projektiga t\u00f6\u00f6tavad inimesed oleksid lukustatud samadele s\u00f5ltuvuste versioonidele (lisateave allpool).<\/p>\n<\/blockquote>\n<p>Eesm\u00e4rk on tagada, et k\u00f5igil oleks sama versioon projekti s\u00f5ltuvustest \u2013 mitte vanemaid ega uuemaid versioone, vaid sama versioon.<\/p>\n<p>Nii et kui k\u00e4ivitate <strong>helilooja installi<\/strong>, kui hoidlasse on lisatud lukustusfail, kasutab see tarkvara versiooni, mis on m\u00e4\u00e4ratletud lukufailis.<\/p>\n<p>Ja see tagab, et k\u00f5ik kasutavad iga s\u00f5ltuvuse sama versiooni ja seega saab v\u00e4ltida vajadust siduda hankija kataloog allika juhtimisega.<\/p>\n<h2>K\u00f5rgema kvaliteedikoodi kirjutamine<\/h2>\n<p>Kuhu me siis l\u00e4heme?<\/p>\n<p>N\u00fc\u00fcd, kui me m\u00f5istame, kuidas kasutada Composerit ja kuidas lukufaili kasutada, v\u00f5ime hakata r\u00e4\u00e4kima tegelikest s\u00f5ltuvustest, mis aitavad parandada meie koodi kvaliteeti.<\/p>\n<p>Ja kui me r\u00e4\u00e4gime kvaliteetsema koodi kirjutamisest, siis on olemas just selle jaoks loodud utiliidid. Nii et j\u00e4rgmistes postitustes vaatleme m\u00f5nda neist.<\/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>Kui m\u00f5istame, kuidas helilooja lukustusfail takistab meil tarnija kataloogi oma hoidlasse sidumast.<\/p>\n","protected":false},"author":1,"featured_media":236343,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,833,894,842,863],"tags":[1165],"class_list":["post-231056","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-juhend-algajatele","category-kood","category-opetused","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/231056","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=231056"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/231056\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/236343"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=231056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=231056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=231056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}