{"id":229397,"date":"2022-11-14T14:33:00","date_gmt":"2022-11-14T11:33:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229397"},"modified":"2022-11-14T14:33:56","modified_gmt":"2022-11-14T11:33:56","slug":"miks-wordpressis-automaatse-laadimisega-vaeva-naeha-2-osa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/miks-wordpressis-automaatse-laadimisega-vaeva-naeha-2-osa\/","title":{"rendered":"Miks WordPressis automaatse laadimisega vaeva n\u00e4ha, 2. osa"},"content":{"rendered":"\n<p>Eelmises <a href=\"https:\/\/wordpress.mediadoma.com\/et\/miks-wordpressis-automaatse-laadimisega-vaeva-naeha-1-osa\/\" title=\"postituses\">postituses<\/a> k\u00e4sitlesin m\u00f5nda punkti, miks ma arvan, et <strong>include_once, <em><\/em><\/strong> request_once<em><\/em> ja muud sarnased v\u00e4ited p\u00f5hjustavad kehva arenduspraktika (v\u00e4hemalt mis puudutab t\u00f6\u00f6d, mida me oma WordPressi projektidega teeme). ).<\/p>\n<p>Kui te pole seda lugenud, pole sellest suurt midagi. Postituse p\u00f5hiolemus on see, et need avaldused n\u00e4itavad:<\/p>\n<ol>\n<li>silumine keerulisem,<\/li>\n<li>j\u00e4lgimiskoodi on raskem teha.<\/li>\n<\/ol>\n<p>L\u00f5ppkokkuv\u00f5ttes on need asjad, mida saame v\u00e4ltida. Postituse l\u00f5petasin j\u00e4rgmisega:<\/p>\n<p>See j\u00e4tab endiselt k\u00fcsimuse, miks on automaatset laadimist (v\u00f5i mis tahes kolmanda osapoole failide kaasamist) \u00fcldse vaja.<\/p>\n<p>Ja kuigi mulle meeldiks selles postituses k\u00e4sitleda k\u00f5iki \u00fcksikasju, on see ja veel \u00fcks postitus oluline, et m\u00f5ista m\u00f5ningaid p\u00f5hiteemasid keelte, t\u00f5lkide ja kompilaatorite kohta, enne kui hakkan liiga kaugele edasi minema.<\/p>\n<h2>Automaatne laadimine WordPressis: keelte t\u00fc\u00fcbid<\/h2>\n<p>Kui r\u00e4\u00e4kida programmeerimiskeeltest, v\u00f5ib need jagada kahte erinevat t\u00fc\u00fcpi keeltesse:<\/p>\n<ol>\n<li>staatiliselt tr\u00fckitud<\/li>\n<li>d\u00fcnaamiliselt tr\u00fckitud<\/li>\n<\/ol>\n<p>Neid on ka lihtne m\u00e4rgata.<\/p>\n<h3>Staatiliselt tr\u00fckitud keeled<\/h3>\n<p>Staatiliselt tipitud keel t\u00e4hendab, et kui deklareerite muutuja, n\u00e4iteks stringi, t\u00e4isarvu v\u00f5i ujukomaarvu, s\u00e4ilitab see selle t\u00fc\u00fcbi kogu selle eluea jooksul.<\/p>\n<p>See ei t\u00e4henda, et seda ei saaks muuta v\u00f5i teiseks t\u00fc\u00fcbiks s\u00f5eluda, kuid m\u00f5te on selles, et deklareerite selle t\u00fc\u00fcbi ja nii seda kasutatakse.<\/p>\n<p>Tavaliselt m\u00e4\u00e4ratakse see deklareerimisel teatud t\u00fc\u00fcbina, n\u00e4iteks <strong>string<\/strong> v\u00f5i <strong>int<\/strong>, ja seda n\u00e4hakse k\u00f5ige sagedamini kompileeritud keeltes.<\/p>\n<h3>D\u00fcnaamiliselt sisestatud keeled<\/h3>\n<p>D\u00fcnaamiliselt tr\u00fckitud keeltes on seevastu muutujad, mis on parema termini puudumisel olemuselt sujuvamad.<\/p>\n<p>See t\u00e4hendab, et v\u00f5ite selle alguses deklareerida <strong>stringina<\/strong>, seej\u00e4rel v\u00f5rrelda seda <strong>t\u00e4isarvuga<\/strong> ja hiljem uuesti <strong>stringina<\/strong> kasutada .<\/p>\n<p>T\u00f5lk v\u00f5i kompilaator (olenevalt kasutatavast keelest) teeb k\u00f5ik endast oleneva, et j\u00e4reldada, mida proovite teha, l\u00e4htudes sellest, mida oma koodis teete, kuid see ei ole alati \u00f5ige.<\/p>\n<p>See v\u00f5ib p\u00f5hjustada kummalisi k\u00f5rvalm\u00f5jusid ja vigu.<\/p>\n<p>JavaScript on selline. N\u00e4ite n\u00e4gemiseks avage oma brauseri konsool ja sisestage midagi sellist, mida n\u00e4ete j\u00e4rgmisel ekraanipildil (ja p\u00f6\u00f6rake t\u00e4helepanu tulemusele):<\/p>\n<p>Pange t\u00e4hele, et kui kasutame standardset topeltv\u00f5rdusm\u00e4rki, sunnib t\u00f5lk stringi Boole&#8217;i \u200b\u200bt\u00fc\u00fcbiks, kuigi tegelik string ei ole t\u00f5ene.<\/p>\n<p>Teine juhtum on t\u00e4pne (ja seep\u00e4rast tuleks peaaegu alati kasutada kolmekordset v\u00f5rdsust).<\/p>\n<p>Lisaks sellele, kuidas miski v\u00f5ib \u00fches keeles toimida, ei pruugi toimida teises keeles.\n<\/p>\n<p>P\u00f5him\u00f5te on see, et \u00e4rge oodake, et teie keeled teeksid sama lihtsalt sellep\u00e4rast, et need v\u00f5ivad toetada d\u00fcnaamilist tippimist.<\/p>\n<h2>Mis on sellel pistmist automaatse laadimisega?<\/h2>\n<p>Olgu, nii et me oleme r\u00e4\u00e4kinud natuke primitiividest ja k\u00f5ik see on hea, kuid see ei tee palju, kui r\u00e4\u00e4gime klassidest, objektidest, instantseerimisest, automaatsest laadimisest jne.<\/p>\n<p>Eelnimetatud teemade v\u00e4ljatoomise eesm\u00e4rk on n\u00e4idata, millist rolli m\u00e4ngivad t\u00f5lgendajad ja kompilaatorid d\u00fcnaamilistes keeltes koodiga t\u00f6\u00f6tamisel.<\/p>\n<p>Ja see on oluline, kuna PHP on d\u00fcnaamiline keel.<\/p>\n<p>Siinkohal kavatsesin algselt hakata uurima PHP-koodi n\u00e4idist, nimeruume, automaatset laadimist, kaasamise <strong>avaldusi<\/strong> ja k\u00f5ike seda, kuid p\u00fc\u00fcan hoida oma artikleid teatud pikkusega ja see hakkas venima veidi kaugemale, kui ma tahtsin. .<\/p>\n<p>Nii et selle postituse \u00fclim \u00e4rav\u00f5tt, kui peaksin selle kokku v\u00f5tma, on j\u00e4rgmine:<\/p>\n<p>D\u00fcnaamiliselt tr\u00fckitud keeltele, nagu PHP-le, ei anta luksust kompileeritud keeltele, kus k\u00f5ik on kompileeritud \u00fcheks kahendfailiks. Peame programmile mingil moel \u00fctlema, kus suurema programmi kontekstis on s\u00f5ltuvused olemas.<\/p>\n<p>Ja seda p\u00fc\u00fcan j\u00e4rgmises postituses k\u00e4sitleda.<\/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>D\u00fcnaamiliselt tr\u00fckitud keelte ja staatiliselt tr\u00fckitud keelte m\u00f5istmine on WordPressi ja PHP automaatse laadimise m\u00f5istmisel v\u00f5tmet\u00e4htsusega.<\/p>\n","protected":false},"author":1,"featured_media":165674,"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-229397","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\/229397","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=229397"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229397\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/165674"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}