{"id":229389,"date":"2022-11-14T13:10:00","date_gmt":"2022-11-14T10:10:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229389"},"modified":"2022-11-14T13:13:55","modified_gmt":"2022-11-14T10:13:55","slug":"miks-wordpressis-automaatse-laadimisega-vaeva-naeha-1-osa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/miks-wordpressis-automaatse-laadimisega-vaeva-naeha-1-osa\/","title":{"rendered":"Miks WordPressis automaatse laadimisega vaeva n\u00e4ha, 1. osa"},"content":{"rendered":"\n<p>\u00dcks lihtsamaid asju, mida saame WordPressi pistikprogrammide kallal t\u00f6\u00f6tades teha, on loobuda kogu koodist <strong>k\u00e4skkirjadest request_once<\/strong> v\u00f5i <strong>include_once .<\/strong><\/p>\n<p>Ja miks mitte? See on lihtne viis antud klassi jaoks k\u00f5igi vajalike failide v\u00f5i s\u00f5ltuvuste toomiseks, h\u00f5lpsasti loetavaks muutmiseks ega pea muretsema tohutute koodifailide loomise p\u00e4rast. See t\u00e4hendab, et see aitab meil kirjutatut lihtsustada, et saaksime oma klassidel [enamasti v\u00f5i ideaalis] teha seda, mida nad h\u00e4sti teevad.<\/p>\n<p>Kui olete seda saiti viimase aasta jooksul lugenud, siis teate, et ma olen automaatse laadimise f\u00e4nn ja see on midagi, mida minu arvates peaks iga\u00fcks, kes t\u00f6\u00f6tab PHP-ga \u2013 olenemata sellest, kas kasutate WordPressi v\u00f5i muud platvormi \u2013, kasutada.<\/p>\n<p>Kuid see t\u00f5statab kaks k\u00fcsimust, eriti kui olete alles alustanud:<\/p>\n<ol>\n<li>Miks vaevleda automaatse laadimisega, kui laadimiss\u00f5ltuvustega toimetulemiseks on ka teisi v\u00f5imalusi?<\/li>\n<li>Kuidas automaatne laadimine kompileeritud keeltega v\u00f5rdub?<\/li>\n<\/ol>\n<p>Seega m\u00f5tlesin, et sellele tasub paaris j\u00e4rgmises postituses vastata.<\/p>\n<h2>Miks peaks automaatse laadimisega vaeva n\u00e4gema?<\/h2>\n<p>L\u00fchidalt on see j\u00e4rgmine:<\/p>\n<ol>\n<li><strong>N\u00f5ue_once<\/strong> ja <strong>include_once<\/strong> v\u00f5ivad viia koodini, mida on raske siluda,<\/li>\n<li>koodi on raske j\u00e4lgida.<\/li>\n<\/ol>\n<p>Aga kuidas nii?<\/p>\n<h3>1 Silumine on raske<\/h3>\n<p>Kui koodi kirjutamisel on miski kindel, siis see, et seal on midagi, mis ei t\u00f6\u00f6ta nii, nagu ette n\u00e4htud. See on meie tegevuse olemus, eks?<\/p>\n<p>Nii et koodi silumise osas on meil k\u00f5igil oma strateegiad.<\/p>\n<ul>\n<li>m\u00f5ned meist valivad\u00a0 koodi j\u00e4lgimiseks <strong>echo<\/strong> v\u00f5i <strong>var_dump<\/strong> ,<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar-console\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kasutage<\/a> WordPressi pistikprogrammi,<\/li>\n<li>teised kasutavad silurit.<\/li>\n<\/ul>\n<p>Kuigi see postitus ei k\u00e4sitle silumist, on t\u00f5siasi, et me peame siluma. Nii et kui me teame, et peame seda tegema, kas me ei peaks selle enda jaoks v\u00f5imalikult lihtsaks tegema?<\/p>\n<p>PHP on d\u00fcnaamiliselt tr\u00fckitav keel, nii et \u00fcldiselt on palju asju, mille eest me koodi kirjutame alati hoolitseme. See t\u00e4hendab, et koodi k\u00e4ivitamisel j\u00e4reldatakse v\u00f5i sunnitakse teatud asju.<\/p>\n<p>Oletagem n\u00e4iteks, et t\u00f6\u00f6tate stringiga ja v\u00f5rdlete seda arvuga. T\u00f5lk teeb k\u00f5ik endast oleneva, et arvata, mida te teete (kas soovite s\u00f5eluda stringi t\u00e4isarvuks v\u00f5i vastupidi?) ja seej\u00e4rel t\u00f6\u00f6tada sellega.<\/p>\n<p>Ainu\u00fcksi muutujatega t\u00f6\u00f6tamine v\u00f5ib olla t\u00e4psuse harjutus, sest tahame, et meie kood loeks nii, nagu me kavatseme. Miks j\u00e4tta t\u00f5lgi otsustada, mida me silmas peame? Ja kui t\u00f5lk peab lisat\u00f6\u00f6d tegema, teevad seda kindlasti inimesed.<\/p>\n<p>Sel eesm\u00e4rgil, kui me teame, et vead tuuakse sisse ja teame, et on olemas viise puhtama koodi kirjutamiseks, siis miks me ei v\u00f5iks seda teha?<\/p>\n<h3>2 J\u00e4lgimine on raske (v\u00f5i v\u00f5ib-olla raskem?)<\/h3>\n<p>Kuid see ei anna ikkagi p\u00f5hjust, miks peaksime tuginema millelegi automaatlaadurile versus keele sisseehitatud vahenditele, eks?<\/p>\n<p>M\u00f5elge sellele: Oletagem, et otsite viga otsivat faili ja leiate funktsiooni, millel on mingi kood, mis kasutab funktsiooni <strong>include_once<\/strong> ja seej\u00e4rel m\u00f5nda muud koodi.<\/p>\n<p>See t\u00e4hendab, et peate koodi lugema, hoidma seda vaimselt salvestatuna, h\u00fcppama teise faili, m\u00f5istma seda koodi ja seej\u00e4rel naasma algse faili juurde. Ja see eeldab, et ka teine \u200b\u200bfail ei <strong>sisalda<\/strong> ega <strong>n\u00f5ua<\/strong> muid faile.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-165694-61e786c8874b7.jpg\" 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-165694-61e786c8874b7.jpg\" alt=\"Miks WordPressis automaatse laadimisega vaeva n\u00e4ha, 1. osa\"><\/a><\/p>\n<p>Seda kutsutakse p\u00f5hjusega spaghetti koodiks.<\/p>\n<p>Seda silmas pidades n\u00e4ete, millist keerulist olukorda see tekitab, kui otsustate selle koodi pesastada kogu \u00fclej\u00e4\u00e4nud programmis. L\u00fchidalt, olete lisanud s\u00f5ltuvused, mis raskendab tuvastamist, kus midagi v\u00f5ib valesti minna.<\/p>\n<p>See ei t\u00e4henda, et automaatne laadimine selle automaatselt parandab, kuid see ei pea nii olema. Selle asemel saate kirjutada koodi, mis loob klassid, kutsub meetodeid ja seej\u00e4rel k\u00e4ivitab koodi, ilma et oleks vaja midagi k\u00e4sitsi lisada.<\/p>\n<h3>Loetavam, j\u00e4lgitav kood<\/h3>\n<p>Seda tehes leian, et see sunnib meid kirjutama puhtamat koodi, v\u00e4idetavalt paremini hooldatavat koodi. See muudab ka h\u00f5lpsamini j\u00e4lgitava koodi kirjutamise lihtsamaks ja seda on siluriga lihtsam kasutada.<\/p>\n<p>See t\u00e4hendab, et saame oma koodi teatud kohtades seada katkestuspunkte, lasta siluril meid automaatselt kutsuda klassi ja astuda tagasi funktsiooni, mis seda kutsus.<\/p>\n<p>See ei t\u00e4henda, et seda ei saaks teha muul viisil, kuid kasu kaalub palju \u00fcles alternatiividest. Ja loomulikult j\u00e4\u00e4b see endiselt k\u00fcsimuseks, miks on automaatset laadimist (v\u00f5i mis tahes kolmanda osapoole failide kaasamist) \u00fcldse vaja.<\/p>\n<p>Aga sellest tulebki juttu sarja teises osas.<\/p>\n<h2>Muu lugemine<\/h2>\n<p>Minu postitus <a href=\"https:\/\/wordpress.mediadoma.com\/et\/nimeruumid-ja-automaatne-laadimine-wordpressis\/\" title=\"WordPressi nimeruumide ja automaatse laadimise kohta ning WordPressi\">WordPressi nimeruumide ja automaatse laadimise kohta ning WordPressi<\/a> lihtne <a href=\"https:\/\/github.com\/tommcfarlin\/simple-autoloader-for-wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">automaatlaadur<\/a> on kaks muud ressurssi, mis on ilmselgelt selle konkreetse postitusega seotud. Nii et kui teil on aega, vaadake neid (ja \u00e4rge k\u00f5helge avamast probleemi v\u00f5i t\u00f5mbetaotlust lihtsa automaatlaaduri projekti kohta).<\/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>Olen WordPressis automaatlaadimisest varemgi r\u00e4\u00e4kinud ja sellest kirjutanud, kuid leian siiski, et automaatse laadimise eelised aitavad kirjutada organiseeritud ja j\u00e4lgitavat koodi.<\/p>\n","protected":false},"author":1,"featured_media":165695,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,842],"tags":[1165],"class_list":["post-229389","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-opetused","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229389","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=229389"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229389\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/165695"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}