{"id":232113,"date":"2023-01-07T11:49:00","date_gmt":"2023-01-07T08:49:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232113"},"modified":"2023-01-07T11:50:46","modified_gmt":"2023-01-07T08:50:46","slug":"wordpressin-virheenkorjaus-rayn-avulla-osa-1","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/wordpressin-virheenkorjaus-rayn-avulla-osa-1\/","title":{"rendered":"WordPressin virheenkorjaus Rayn avulla, osa 1"},"content":{"rendered":"\n<p><strong>TL;DR:<\/strong> T\u00e4m\u00e4 viesti antaa korkean tason yleiskatsauksen siit\u00e4, millainen sovellus <a href=\"https:\/\/myray.app\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Ray<\/a> on ja kuinka se asetetaan k\u00e4ytett\u00e4v\u00e4ksi WordPressiss\u00e4.<\/p>\n<hr \/>\n<p>Niin kauan kuin olen ollut mukana WordPress-kehityksess\u00e4, olen jatkuvasti n\u00e4hnyt kehitt\u00e4jien \u2013 min\u00e4 mukaan lukien \u2013 k\u00e4ytt\u00e4v\u00e4n jatkuvasti <code>[print_r](https:\/\/www.php.net\/manual\/en\/function.print-r.php)<\/code>ja <code>[var_dump](https:\/\/www.php.net\/manual\/en\/function.var-dump.php)<\/code>aina, kun he tarvitsevat n\u00e4hd\u00e4, mit\u00e4 heid\u00e4n koodissaan tapahtuu.<\/p>\n<p>Ja t\u00e4m\u00e4 p\u00e4tee pienempiin tietorakenteisiin, kuten objektien, taulukoiden ja niin edelleen tarkasteluihin. Sitten virheenkorjausspektrin toisessa p\u00e4\u00e4ss\u00e4, jos sinun t\u00e4ytyy k\u00e4yd\u00e4 l\u00e4pi koodi n\u00e4hd\u00e4ksesi, mit\u00e4 argumentteja siirret\u00e4\u00e4n tiettyyn funktioon mist\u00e4 ja mill\u00e4 arvolla, niin <a href=\"https:\/\/wordpress.mediadoma.com\/fi\/xdebugin-asentaminen-osa-1-xdebug-moduuli\/\" title=\"Xdebugin\">Xdebugin<\/a> kaltaisten toimintojen k\u00e4ytt\u00e4minen on uskomattoman hy\u00f6dyllist\u00e4.<\/p>\n<p>Viime aikoihin asti en uskonut, ett\u00e4 olisi olemassa keskitiet\u00e4. Mutta sitten l\u00f6ysin Rayn ja olen k\u00e4ytt\u00e4nyt sit\u00e4 siit\u00e4 l\u00e4htien.<\/p>\n<h2>WordPressin virheenkorjaus Rayn avulla, osa 1<\/h2>\n<h3>Mik\u00e4 on Ray?<\/h3>\n<p>Ennen kuin puhut WordPressin virheenkorjauksesta Rayn kanssa, on syyt\u00e4 ymm\u00e4rt\u00e4\u00e4, mik\u00e4 Ray on ja mik\u00e4 se ei ole.<\/p>\n<p>Ensimm\u00e4inen on se, ett\u00e4 se ei ole jotain, joka ei ole yksinomaan WordPress, joten jos olet t\u00f6rm\u00e4nnyt t\u00e4h\u00e4n viestiin jonkun muuna laajemmassa PHP-yhteis\u00f6ss\u00e4, se on asia, jota on viel\u00e4 tarkistettava.<\/p>\n<p>Oletetaan, ett\u00e4 olet WordPress-pohjainen kehitt\u00e4j\u00e4 ja haluat oppia lis\u00e4\u00e4 siit\u00e4, mist\u00e4 Rayssa on kyse.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dbfceb3ea.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-158304-61e6dbfceb3ea.png\" alt=\"WordPressin virheenkorjaus Rayn avulla, osa 1\"><\/a><\/p>\n<p>Ensinn\u00e4kin, vaikka se tarjoaa tyylikk\u00e4\u00e4n esimerkin siit\u00e4, milt\u00e4 koodisi n\u00e4ytt\u00e4\u00e4 n\u00e4yt\u00f6lle j\u00e4tettyn\u00e4, se tarjoaa paljon enemm\u00e4n.<\/p>\n<p>Huomaa, ett\u00e4 kun k\u00e4yt\u00e4t Rayta, tarvitset lis\u00e4ty\u00f6kaluja, joita k\u00e4sittelen hieman lis\u00e4\u00e4 hetken kuluttua, mutta jos haluat jatkaa tietojen pudottamista muotoon jollakin vastaavalla tavalla <code>var_dump<\/code>, Ray tukee sit\u00e4. Se vain saa sen n\u00e4ytt\u00e4m\u00e4\u00e4n kauniimmalta. \ud83d\ude42<\/p>\n<p>Toiseksi, kun kutsut Ray\u00e4 koodistasi, se varmistaa, ett\u00e4 tied\u00e4t mist\u00e4 puhelu tulee. T\u00e4ll\u00e4 tavalla tied\u00e4t tarkalleen, mit\u00e4 tiedostoa ja mit\u00e4 rivi\u00e4 etsit. T\u00e4m\u00e4 on hy\u00f6dyllist\u00e4 etenkin silloin, kun sinulla on useita puheluita.<\/p>\n<p>Kolmanneksi voit itse asiassa keskeytt\u00e4\u00e4 koodisi suorittamisen aivan kuten aina, kun k\u00e4yt\u00e4t todellista debuggeria. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 kun se osuu tiettyyn kohtaan koodissasi (ja t\u00e4m\u00e4 on hy\u00f6dyllist\u00e4, jos osut <code>switch<\/code>ehtoon tai <code>if<\/code>ehtoon tai jos k\u00e4yt\u00e4t esimerkiksi tehdasta olioohjelmoinnissa ja haluat tiet\u00e4\u00e4, mik\u00e4 esiintym\u00e4 objekti on instantioitu), voit keskeytt\u00e4\u00e4 suorituksen ja saada paremman k\u00e4sityksen siit\u00e4, mit\u00e4 projektissasi tapahtuu.<\/p>\n<p>Lopuksi voit j\u00e4rjest\u00e4\u00e4 tulosteet eri v\u00e4reiksi. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 jos osut tiettyyn haaraan koodissa etk\u00e4 halua osua siihen, voit luokitella sen punaiseksi. Samoin voit tehd\u00e4 saman vihre\u00e4n, oranssin, violetin ja muiden kanssa. Se riippuu todella sinusta ja siit\u00e4, mit\u00e4 pyrit saavuttamaan tarkastelemalla tietojasi.<\/p>\n<h2>Rayn k\u00e4ytt\u00e4minen WordPresiss\u00e4<\/h2>\n<p>Jos <a href=\"https:\/\/spatie.be\/docs\/ray\/v1\/installation-in-your-project\/wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">luet asiakirjat<\/a> Rayn asentamisesta WordPressiin, se voi tuntua hieman pelottavalta (erityisesti riippuen kokemuksestasi CLI:st\u00e4, Gitist\u00e4 ja pakollisista lis\u00e4osista).<\/p>\n<p>Hienoa on, ett\u00e4 sen ei tarvitse olla n\u00e4in. Sen sijaan voit napata WordPress Ray Pluginin laajennuksen reposta (joko <a href=\"https:\/\/wordpress.org\/plugins\/spatie-ray\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sivustolta<\/a> tai WordPressin sis\u00e4lt\u00e4 k\u00e4ytt\u00f6oikeuksistasi riippuen).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dc022fcee.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-158304-61e6dc022fcee.png\" alt=\"WordPressin virheenkorjaus Rayn avulla, osa 1\"><\/a><\/p>\n<p>Kun laajennus on asennettu, sinun pit\u00e4isi pysty\u00e4 v\u00e4litt\u00f6m\u00e4sti aloittamaan tietojen tallentaminen Rayyn.<\/p>\n<h3>Gitin ja s\u00e4velt\u00e4j\u00e4n k\u00e4ytt\u00f6<\/h3>\n<p>Jos p\u00e4\u00e4t\u00e4t k\u00e4ytt\u00e4\u00e4 Giti\u00e4 ja Composeria, varmista, ett\u00e4 n\u00e4m\u00e4 kaksi ty\u00f6kalua on asennettu j\u00e4rjestelm\u00e4\u00e4si, ja toimi sitten seuraavasti.<\/p>\n<p>Kloonaa ensin arkisto <code>mu-plugins<\/code>hakemistoosi antamalla seuraava komento:<\/p>\n<p>$<code>git clone git@github.com:spatie\/wordpress-ray<\/code><\/p>\n<p>Siirry seuraavaksi kyseiseen hakemistoon terminaalissasi ja suorita:<\/p>\n<p><code>$ composer install<\/code><\/p>\n<p>Kun prosessi on valmis, avaa <code>wp-config.php<\/code>ja lis\u00e4\u00e4 seuraavat kaksi rivi\u00e4:<\/p>\n<p><code>require_once ABSPATH. 'wp-content\/mu-plugins\/wordpress-ray\/wp-ray.php';<\/code><\/p>\n<p><code>define( 'WP_ENVIRONMENT_TYPE', 'local' );<\/code><\/p>\n<p>T\u00e4m\u00e4n j\u00e4lkeen voit alkaa k\u00e4ytt\u00e4\u00e4 <code>ray<\/code>toimintoa koodissasi. Minulla on esimerkiksi seuraava koodirivi k\u00e4ynniss\u00e4 mallissa, jota k\u00e4yt\u00e4n t\u00e4m\u00e4n artikkelin esittelyn\u00e4:<\/p>\n<p><code>&lt;?php ray( wp_get_current_user() ); ?&gt;<\/code><\/p>\n<p>Sitten aina, kun t\u00e4m\u00e4 sivu ladataan, Ray-sovellus n\u00e4ytt\u00e4\u00e4 seuraavan:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158304-61e6dc060b535.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-158304-61e6dc060b535.png\" alt=\"WordPressin virheenkorjaus Rayn avulla, osa 1\"><\/a><\/p>\n<p>T\u00e4m\u00e4 on ilmeisen rikasta tietoa \u2013 tietoa, joka on edelleen luettavissa muilla tavoilla \u2013 mutta paljon tyylikk\u00e4\u00e4mm\u00e4ll\u00e4 tavalla.<\/p>\n<h2>Osalle 2<\/h2>\n<p>Sarjan osassa 2 k\u00e4sittelen koodin virheenkorjauksen aloittamista Rayn avulla ja miksi nautin sovelluksen k\u00e4ytt\u00e4misest\u00e4 keskitien\u00e4 esimerkiksi Xdebugin <code>[var_dump](https:\/\/www.php.net\/manual\/es\/function.var-dump.php)<\/code>ja <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Xdebugin<\/a> v\u00e4lill\u00e4 .<\/p>\n<p>Lis\u00e4ksi k\u00e4yn l\u00e4pi joitakin Rayn WordPress-spesifisi\u00e4 ominaisuuksia, jotta n\u00e4et, kuinka t\u00e4m\u00e4 on enemm\u00e4n kuin &quot;kaunis tapa tyhjent\u00e4\u00e4 muuttujia&quot;.<\/p>\n<p>Loppujen lopuksi mielest\u00e4ni Xdebug on edelleen jotain, jota pit\u00e4isi k\u00e4ytt\u00e4\u00e4, mutta Ray on paljon mukavampi keskitie, joka tarjoaa paljon vankkoja virheenkorjaustoimintoja tarvitsematta todellisen virheenkorjaajan t\u00e4ydellist\u00e4 tukea.<\/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>T\u00e4m\u00e4 on korkeatasoinen johdanto WordPressin virheenkorjauksen aloittamisesta Rayn avulla.<\/p>\n","protected":false},"author":1,"featured_media":158305,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[782,750,719,895,834,843,803,864],"tags":[1166],"class_list":["post-232113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-avoimen-laehdekoodin-ohjelmisto","category-avoin-laehdekoodi","category-kehittaejae","category-koodi","category-opas-aloittelijoille","category-opetusohjelmia","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232113","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=232113"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232113\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/158305"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}