✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Miksi vaivautua automaattiseen lataukseen WordPressissä, osa 2

21

Edellisessä viestissäni käsittelin muutamia seikkoja siitä, miksi mielestäni include_once, request_once ja muut vastaavat väitteet johtavat huonoihin kehityskäytäntöihin (ainakin mitä tulee WordPress-projektiemme parissa tekemämme työskentelyyn ).

Jos et ole lukenut sitä, ei hätää. Viestin ydin on, että nämä lausunnot sanovat:

  1. virheenkorjaus vaikeampaa,
  2. jäljityskoodi on vaikeampi tehdä.

Loppujen lopuksi ne ovat asioita, joita voimme välttää. Päätin postauksen seuraavaan:

Tämä jättää silti kysymyksen siitä, miksi automaattista latausta (tai kolmannen osapuolen tiedostojen sisällyttämistä) ylipäätään tarvitaan.

Ja vaikka haluaisin käsitellä kaikki yksityiskohdat tässä viestissä, tämä ja vielä yksi viesti on tärkeä ymmärtää joitakin kieliä, tulkkeja ja kääntäjiä koskevia perusaiheita ennen kuin lähden liian pitkälle.

Automaattinen lataus WordPressissä: Kielityypit

Mitä tulee ohjelmointikieliin, ne voidaan jakaa kahteen erityyppiseen kieliin:

  1. staattisesti kirjoitettu
  2. dynaamisesti kirjoitettu

Ne on myös helppo havaita.

Staattisesti kirjoitetut kielet

Staattisesti kirjoitettu kieli tarkoittaa, että kun ilmoitat muuttujan, kuten merkkijonon, kokonaisluvun tai liukulukuluvun, se säilyttää kyseisen tyypin koko sen elinkaaren ajan.

Tämä ei tarkoita, ettei sitä voisi muuttaa tai jäsentää toiseksi tyypiksi, mutta ideana on, että määrittelet sen tyypin ja niin sitä käytetään.

Se määritetään yleensä tietyksi tyypiksi, kun se ilmoitetaan, kuten merkkijono tai int, ja se näkyy useimmiten käännetyillä kielillä.

Dynaamisesti kirjoitetut kielet

Toisaalta dynaamisesti kirjoitetuissa kielissä on muuttujia, jotka ovat paremman termin puuttuessa luonteeltaan joustavampia.

Eli voit aluksi ilmoittaa sen merkkijonoksi ja verrata sitä sitten kokonaislukuun ja käyttää sitä myöhemmin uudelleen merkkijonona.

Tulkki tai kääntäjä (riippuen siitä, mitä kieltä käytät) tekee parhaansa päätelläkseen, mitä yrität tehdä koodissasi tekemäsi kontekstin perusteella, mutta se ei aina ole oikein.

Se voi johtaa outoihin sivuvaikutuksiin ja bugeihin.

JavaScript on tällainen. Jos haluat nähdä esimerkin, avaa selaimesi konsoli ja kirjoita jotain seuraavan kuvakaappauksen kaltaista (ja kiinnitä huomiota tulokseen):

Huomaa, että kun käytämme standardia tuplayhtymämerkkiä, tulkki pakottaa merkkijonon boolen tyyppiin, vaikka todellinen merkkijono ei ole tosi.

Toinen tapaus on tarkka (ja siksi kolminkertaista yhtälöä tulisi melkein aina käyttää).

Lisäksi se, miten jokin voi toimia yhdellä kielellä, ei ole sitä, miten se voi toimia toisella kielellä.

Tärkeintä on, että älä odota kielesi tekevän samaa vain siksi, että ne saattavat tukea dynaamista kirjoittamista.

Mitä tekemistä tällä on automaattilatauksen kanssa?

Okei, olemme siis puhuneet vähän primitiiveistä ja kaikki tämä on hienoa, mutta se ei tee paljon, kun puhutaan luokista, objekteista, ilmentämisestä, automaattisesta latauksesta ja niin edelleen.

Edellä mainittujen aiheiden nostamisen tarkoituksena on osoittaa tulkkien ja kääntäjien rooli dynaamisten kielten koodin parissa.

Ja tämä on tärkeää, koska PHP on dynaaminen kieli.

Tässä vaiheessa aioin alunperin alkaa tarkastella PHP-mallikoodia, nimiavaruuksia, automaattista latausta, sisällyttää lauseita ja kaikkea muuta, mutta yritän pitää artikkelini tietyn pituisena ja tämä alkoi venyä hieman pidemmälle kuin halusin. .

Joten lopullinen poiminta tästä viestistä, jos minun piti tehdä siitä yhteenveto, on tämä:

Dynaamisesti kirjoitetuille kielille, kuten PHP:lle, ei anneta käännettyjen kielten ylellisyyttä, jossa kaikki on käännetty yhteen binaariin. Meidän on kerrottava ohjelmalle jollain tavalla, missä riippuvuudet ovat olemassa suuremman ohjelman yhteydessä.

Ja sitä aion käsitellä seuraavassa postauksessa.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja