{"id":230328,"date":"2022-11-23T11:31:00","date_gmt":"2022-11-23T08:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230328"},"modified":"2022-11-09T21:11:03","modified_gmt":"2022-11-09T18:11:03","slug":"wordpress-kehitysympaeristoe-kaeyttaemaellae-paketinhallintaa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-kehitysympaeristoe-kaeyttaemaellae-paketinhallintaa\/","title":{"rendered":"WordPress-kehitysymp\u00e4rist\u00f6 (k\u00e4ytt\u00e4m\u00e4ll\u00e4 paketinhallintaa)"},"content":{"rendered":"\n<p>T\u00e4ss\u00e4 vaiheessa olen kirjoittanut niin suuresta osasta <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/oop-fundamentals\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">OOP-perusteista<\/a><\/strong>, jotka mielest\u00e4ni ovat v\u00e4ltt\u00e4m\u00e4tt\u00f6mi\u00e4 syvempien aiheiden tarkastelun aloittamiseksi (kuten suunnittelumallit ja n\u00e4iden aiheiden soveltaminen WordPress-kehityksess\u00e4).<\/p>\n<p>Mutta sis\u00e4lt\u00f6\u00e4 suunnitellessani palasin jatkuvasti muutamiin muihin asioihin, jotka mielest\u00e4ni on my\u00f6s tarpeen k\u00e4sitell\u00e4 lopulta. N\u00e4m\u00e4 ovat asioita, kuten s\u00e4velt\u00e4j\u00e4, lanka, rakennusty\u00f6kalut ja niin edelleen.<\/p>\n<p>Sit\u00e4 ennen kuitenkin kysyin itselt\u00e4ni:<\/p>\n<blockquote>\n<p>Jos aion kirjoittaa t\u00e4st\u00e4 materiaalista pitk\u00e4\u00e4n, pit\u00e4isik\u00f6 minun olettaa, ett\u00e4 k\u00e4yt\u00e4mme kaikki samaa ymp\u00e4rist\u00f6\u00e4?<\/p>\n<\/blockquote>\n<p>Ja siihen on vaikea vastata, koska jotkut t\u00e4t\u00e4 lukevista ihmisist\u00e4 ovat kirjoittaneet koodia jo jonkin aikaa. Toisin sanoen heill\u00e4 (tai sinulla) on ty\u00f6kalusi, asetukset ja tapa, jolla haluat j\u00e4rjest\u00e4\u00e4 projektejasi.<\/p>\n<p>Toisaalta on niit\u00e4 (tai sin\u00e4), jotka etsiv\u00e4t erilaista tapaa tai haluavat aloittaa alusta. Ja sit\u00e4 varten mielest\u00e4ni on t\u00e4rke\u00e4\u00e4 kattaa kaksi asiaa:<\/p>\n<ol>\n<li>Paikallisen kehitysymp\u00e4rist\u00f6n perustaminen<\/li>\n<li>Mit\u00e4 IDE:t\u00e4, lis\u00e4osia ja ty\u00f6kaluja k\u00e4ytet\u00e4\u00e4n<\/li>\n<\/ol>\n<p>Joillekin ne eiv\u00e4t ole j\u00e4nnitt\u00e4vimm\u00e4t aiheet, ja se varmasti pys\u00e4ytt\u00e4\u00e4 olio-ohjelmoinnin edistyneemm\u00e4n osan. Koska ne teist\u00e4, jotka maksavat t\u00e4m\u00e4n materiaalin lukemisesta, p\u00e4\u00e4sev\u00e4t k\u00e4siksi kommentteihin, minun on oletettava, ett\u00e4 jossain vaiheessa tulee kommentteja, joissa kysyt\u00e4\u00e4n, miten tiettyj\u00e4 asioita saavutetaan.<\/p>\n<p>Ja t\u00e4t\u00e4 tarkoitusta varten aion olettaa, ett\u00e4 me kaikki ty\u00f6skentelemme samalla pelikent\u00e4ll\u00e4. Jos ei, voin tehd\u00e4 vain niin paljon apua varsinaisten ohjelmointikysymysten lis\u00e4ksi.<\/p>\n<p>Joten ennen kuin menen syvemm\u00e4lle olio-ohjelmoinnin syvyyksiin, aion viett\u00e4\u00e4 muutaman postauksen, joka kattaa yll\u00e4 olevat aiheet yksityiskohtaisesti varmistaakseni, ett\u00e4 olemme kaikki samalla sivulla.<\/p>\n<p>Jos pid\u00e4t ty\u00f6kaluistasi ja asetuksistasi, ole hyv\u00e4 ja kest\u00e4 minua. Jos etsit lopullista tapaa m\u00e4\u00e4ritt\u00e4\u00e4 ymp\u00e4rist\u00f6si, seuraavat viestit ovat sinua varten.<\/p>\n<p>Ja kun kaikki t\u00e4m\u00e4 on sanottu, aloitetaan puhumalla siit\u00e4, miten luodaan siisti paikallinen kehitysymp\u00e4rist\u00f6, jota on helppo yll\u00e4pit\u00e4\u00e4.<\/p>\n<h2>WordPressin kehitysymp\u00e4rist\u00f6<\/h2>\n<p>Jos luet t\u00e4t\u00e4, tied\u00e4t todenn\u00e4k\u00f6isesti, ett\u00e4 <strong><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a><\/strong> vaatii toimiakseen kolme ohjelmistoa:<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/www.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/strong> ,<\/li>\n<li>Web-palvelin (joka on yleens\u00e4 <strong><a href=\"https:\/\/httpd.apache.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Apache<\/a><\/strong> tai <strong><a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Nginx<\/a><\/strong> ),<\/li>\n<li>Tietokantapalvelin (joka on perinteisesti <strong><a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQL<\/a><\/strong> ).<\/li>\n<\/ul>\n<p>Kaikki n\u00e4m\u00e4 ohjelmistot voidaan asentaa manuaalisesti, mutta olen suuri fani paketinhallinnan k\u00e4ytt\u00e4misest\u00e4 (ajatellen sovelluskauppaa tai jotain vastaavaa) kaiken t\u00e4m\u00e4n hallintaan. Se tekee asentamisesta, p\u00e4ivitt\u00e4misest\u00e4, karsimisesta ja ongelmien l\u00f6yt\u00e4misest\u00e4 paljon, paljon helpompaa.<\/p>\n<p>Ja minun valintani paketinhaltijoiksi t\u00e4m\u00e4n tyyppisten asioiden k\u00e4sittelyyn on <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>. (Ja kyll\u00e4, olen kirjoittanut t\u00e4st\u00e4 my\u00f6s muutamassa muussa postauksessa.)<\/p>\n<p>Sen avulla pystymme asentamaan kaikki edell\u00e4 mainitut, valmistautumaan sukeltamaan syvemm\u00e4lle olioohjelmointiin ja soveltamaan aiheita WordPress-kehityksess\u00e4.<\/p>\n<h3>1 Asenna Homebrew<\/h3>\n<p>Ensimm\u00e4inen asia, jonka haluamme tehd\u00e4 ennen mit\u00e4\u00e4n muuta, on asentaa Homebrew. K\u00e4ytt\u00f6j\u00e4rjestelm\u00e4st\u00e4si riippumatta t\u00e4m\u00e4 edellytt\u00e4\u00e4, ett\u00e4 Ruby on asennettu, joten jos sinulla ei ole sit\u00e4, muista asentaa se.<\/p>\n<p>Jos k\u00e4yt\u00e4t macOS:\u00e4\u00e4 tai Linuxin muunnelmaa, sinulla on todenn\u00e4k\u00f6isesti se jo. Voin puhua Windows-k\u00e4ytt\u00e4jien puolesta, mutta <strong><a href=\"https:\/\/www.ruby-lang.org\/en\/documentation\/installation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sen asentaminen on yksinkertaista<\/a><\/strong>.<\/p>\n<p>Jos (tai kerran) Ruby on asennettu, kirjoita seuraava komento terminaaliin tai komentoriville:<\/p>\n<p><code>\/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/p>\n<p>Kun asennus on alkanut, sinun pit\u00e4isi n\u00e4hd\u00e4 jotain seuraavanlaista istunnossasi:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.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-164668-61e76a27aeab4.png\" alt=\"WordPress-kehitysymp\u00e4rist\u00f6 (k\u00e4ytt\u00e4m\u00e4ll\u00e4 paketinhallintaa)\" ><\/a><\/p>\n<p>T\u00e4m\u00e4 voi vied\u00e4 jonkin aikaa, mutta asentaja on yleens\u00e4 todella hyv\u00e4 antamaan palautetta tekemiss\u00e4\u00e4n, joten ole k\u00e4rsiv\u00e4llinen. Se ilmoittaa sinulle, kun se on valmis, ja kun se on tehty, on yht\u00e4 helppoa jatkaa muun tarvittavan asentamista.<\/p>\n<p>Ja sit\u00e4 me teemme seuraavaksi.<\/p>\n<h3>2 Valetin asentaminen<\/h3>\n<p>Vaikka eri ihmiset pit\u00e4v\u00e4t eri palveluista (kuten <a href=\"https:\/\/tommcfarlin.com\/mamp-4-wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MAMP<\/a> ), olen kasvanut todella pit\u00e4m\u00e4\u00e4n <strong><a href=\"https:\/\/laravel.com\/docs\/5.6\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Valetista<\/a><\/strong>. Se on kaikki yhdess\u00e4 ratkaisu, ja sen avulla on todella helppoa hallita WordPress-kehitysymp\u00e4rist\u00f6n mukana tulevia eri komponentteja.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.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-164668-61e76a2bd582b.png\" alt=\"WordPress-kehitysymp\u00e4rist\u00f6 (k\u00e4ytt\u00e4m\u00e4ll\u00e4 paketinhallintaa)\" ><\/a><\/p>\n<p>Toki se vaatii aika ajoin sukeltamista terminaaliin, mutta uskon, ett\u00e4 jos aiot sukeltaa olio-ohjelmointiin, sinun on todenn\u00e4k\u00f6isesti totuttava terminaaliin, varsinkin kun ty\u00f6skentelet ty\u00f6kalujen kanssa. kuten <strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a><\/strong>, <strong><a href=\"https:\/\/yarnpkg.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Yarn<\/a><\/strong>, <strong><a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Git<\/a><\/strong> tai muut ty\u00f6kalut, joista keskustellaan paljon enemm\u00e4n tulevaisuudessa.<\/p>\n<p>Joka tapauksessa, t\u00e4ss\u00e4 vaiheessa olet valmis asentamaan Valetin. T\u00e4m\u00e4n oppaan tarkoituksiin aiomme k\u00e4ytt\u00e4\u00e4:<\/p>\n<ul>\n<li>PHP 7.2<\/li>\n<li>S\u00e4velt\u00e4j\u00e4<\/li>\n<\/ul>\n<p>Jokaisen n\u00e4iden asentaminen on riitt\u00e4v\u00e4n helppoa, ja kaikki tarvittavat ohjeet ovat alla.<\/p>\n<p>Koska olemme juuri asentaneet Homebrew&#8217;n, sit\u00e4 ei tarvitse p\u00e4ivitt\u00e4\u00e4. Jos olet kuitenkin jo asentanut sen, suorita:<\/p>\n<p><code>$ brew update<\/code><\/p>\n<h4>Asenna PHP 7.2<\/h4>\n<p>Seuraavaksi asenna PHP 7.2 antamalla seuraava komento p\u00e4\u00e4tteess\u00e4si:<\/p>\n<p><code>$ brew install homebrew\/php\/php72<\/code><\/p>\n<p>Homebrew tekee tavalliseen tapaan lataamalla binaarit, asentamalla ne ja ilmoittamalla sinulle, kun se on valmis.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.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-164668-61e76a30f0160.png\" alt=\"WordPress-kehitysymp\u00e4rist\u00f6 (k\u00e4ytt\u00e4m\u00e4ll\u00e4 paketinhallintaa)\" ><\/a><\/p>\n<p>T\u00e4ss\u00e4 vaiheessa meid\u00e4n on k\u00e4ytett\u00e4v\u00e4 Composeria Valetin asentamiseen, mutta ennen kuin teet sen, meid\u00e4n on varmistettava, ett\u00e4 Composer on asennettu.<\/p>\n<h4>Asenna Composer<\/h4>\n<p>Koska k\u00e4yt\u00e4mme Homebrew&#8217;ta, Composerin asentaminen on my\u00f6s eritt\u00e4in helppoa, koska voimme asentaa sen kuten mink\u00e4 tahansa muun paketin. Voit tehd\u00e4 t\u00e4m\u00e4n kirjoittamalla seuraavan komennon:<\/p>\n<p><code>$ brew install composer<\/code><\/p>\n<p>Ja kuten olemme n\u00e4hneet t\u00e4m\u00e4n opetusohjelman aikana, Homebrew tekee teht\u00e4v\u00e4ns\u00e4 ja ilmoittaa sinulle, kun se on valmis. Varmistaaksesi, ett\u00e4 se on asennettu oikein, kirjoita seuraava komento ja paina Enter:<\/p>\n<p><code>$ composer --version<\/code><\/p>\n<p>T\u00e4m\u00e4n artikkelin julkaisuhetkell\u00e4 Composer on versiossa 1.6.3.<\/p>\n<p><strong>Huomautus<\/strong>: Joskus Homebrew havaitsee, ett\u00e4 Composer on jo asennettu, ja ilmoittaa, ett\u00e4 se on jo olemassa. Kivaa eik\u00f6? Se antaa viestin, jossa lukee jotain t\u00e4llaista:<\/p>\n<blockquote>\n<p>Kohde \/usr\/local\/bin\/composer on jo olemassa. Haluat ehk\u00e4 poistaa sen.<\/p>\n<\/blockquote>\n<p>Ja sitten se antaa ohjeita tehd\u00e4 niin. Pid\u00e4n mainittujen ohjeiden noudattamisesta, jotta kaikki hoidetaan Homebrew&#8217;n alla.<\/p>\n<h4>Asenna Valet<\/h4>\n<p>Nyt on vihdoin aika asentaa Valet. Koska olemme asentaneet Homebrew&#8217;n, PHP:n ja Composerin, on helppo asentaa loput, mit\u00e4 tarvitsemme kehitysymp\u00e4rist\u00f6\u00f6mme.<\/p>\n<p>Esimerkki: Anna seuraava komento terminaalissasi:<\/p>\n<p><code>$ composer global require laravel\/valet<\/code><\/p>\n<p>Kirjoita seuraavaksi seuraava komento:<\/p>\n<p><code>$ ~\/.composer\/vendor\/bin<\/code><\/p>\n<p>T\u00e4m\u00e4 varmistaa, ett\u00e4 Valet on j\u00e4rjestelm\u00e4si ymp\u00e4rist\u00f6muuttujissa (tai PATHissa, kuten jotkut sanovat k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4st\u00e4si riippuen). Viime k\u00e4dess\u00e4 t\u00e4m\u00e4n tarkoituksena on varmistaa, ett\u00e4 se on k\u00e4ytett\u00e4viss\u00e4 riippumatta siit\u00e4, miss\u00e4 j\u00e4rjestelm\u00e4ss\u00e4si olet.<\/p>\n<p>Kirjoita lopuksi t\u00e4m\u00e4 istuntoosi:<\/p>\n<p><code>$ valet install<\/code><\/p>\n<p>Saatat saada viestej\u00e4 siit\u00e4, ett\u00e4 se pys\u00e4ytt\u00e4\u00e4 Nginxin, p\u00e4ivitt\u00e4\u00e4 asetukset ja k\u00e4ynnist\u00e4\u00e4 sen sitten uudelleen. Lopulta haluat kuitenkin n\u00e4hd\u00e4 seuraavat asiat:<\/p>\n<blockquote>\n<p>Valet asennettu onnistuneesti!<\/p>\n<\/blockquote>\n<p>Ja kun n\u00e4et sen, olet valmis t\u00e4m\u00e4n ensimm\u00e4isen osan kanssa!<\/p>\n<h2>Mit\u00e4 seuraavaksi?<\/h2>\n<p>T\u00e4ss\u00e4 vaiheessa sinulla on kaikki mit\u00e4 tarvitset testisivustojen luomiseen, WordPressin asentamiseen ja kaikkeen muuhun jazziin. Aion k\u00e4sitell\u00e4 sit\u00e4 tulevassa postauksessa, mutta aion my\u00f6s k\u00e4sitell\u00e4 IDE:n ja tarvittavien lis\u00e4osien valitsemista t\u00e4h\u00e4n menness\u00e4 tekem\u00e4mme ty\u00f6n t\u00e4ydent\u00e4miseksi.<\/p>\n<p>Sill\u00e4 v\u00e4lin, jos sinulla on kysytt\u00e4v\u00e4\u00e4, \u00e4l\u00e4 ep\u00e4r\u00f6i j\u00e4tt\u00e4\u00e4 kommenttia. Se voi olla kysymys, vinkki muille ohjelmistoa k\u00e4ytt\u00e4ville, ehdotus tai mik\u00e4 tahansa muu.<\/p>\n<p>Siit\u00e4 huolimatta olemme askeleen l\u00e4hemp\u00e4n\u00e4 ammattimaisen, oliopohjaisen koodin kirjoittamista vankalla tekniikalla.<\/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>Ohjeet paikallisen WordPress-kehitysymp\u00e4rist\u00f6n asentamiseen alusta loppuun paketinhallinnan avulla.<\/p>\n","protected":false},"author":1,"featured_media":164669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[750,719,843,864],"tags":[1166],"class_list":["post-230328","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-avoin-laehdekoodi","category-kehittaejae","category-opetusohjelmia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230328","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=230328"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230328\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/164669"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}