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

Muuttumattomista arvoista WordPress-laajennuksissa

6

Jos olet tehnyt työtä – tai edes lukenut – olio-ohjelmoinnin parissa, olet todennäköisesti törmännyt ajatukseen muuttumattomuudesta. Se on ajatus siitä, että jokin on muuttumaton.

Joskus sinulla voi olla muuttumattomia arvoja, ja joskus sinulla voi olla muuttumattomia objekteja (ainakin niiden instantiation jälkeen).

Muuttumattoman vastakohta (mutta hän oli kuitenkin suosikkini ninjakilpikonna).

Asia on siinä, että mitä enemmän työskentelen oliopohjaisen koodin kanssa, sitä vähemmän minulla on tapana työskennellä muuttumattomien muuttujien kanssa. Toki, käytän vakioita määritystiedostossa määritetyllä tavalla, mutta et todennäköisesti löydä minua tallentamassa arvoja luokkaan const.

Se luultavasti kertoo jotain minusta ja kyvyistäni, mutta se on totta. Onneksi koodiarvostelut auttavat sinua löytämään mahdollisuuksia hyödyntää strategioita, joita et normaalisti käyttäisi. Ja näin on WordPress-laajennusten muuttumattomien arvojen tapauksessa.

Tietenkin tämä on yksi niistä asioista, jotka ystäväni kiinnittivät huomioni koodiani tarkistaessaan.

WordPressin kanssa työskennellessämme monet meistä tuntevat todennäköisesti kohdat functions.php ja wp-config.php ja niiden roolin WordPress-ydinsovelluksessa.

Kyllä, joskus asiat kuuluvat  tiedostoon wp-config.php, ja kyllä, joskus asiat kuuluvat functions.php -tiedostoon, mutta joskus ajattelen, että tiettyä tiedostoa käytetään väärin liian monilla funktioilla, arvoilla ja niin edelleen. .

Mutta entä laajennukset? Tarkemmin sanottuna, entä oliopohjaiset laajennukset? Esimerkkinä sanotaan, että työskentelet sovellusliittymän kanssa, joka vaatii API-avaimen, jotta et törmää tiettyyn nopeusrajoitukseen sovelluksen ilmaisella versiolla.

Yleensä saatat löytää minut tallentamasta arvoa päälaajennusluokkaan esiintymämuuttujana, joka voidaan välittää, tai ehkä se on konttiluokassa, johon voin viitata ja käyttää sen get – menetelmää.

Mutta entä const -ominaisuuden käyttäminen luokassa ja sen välittäminen setter-injektion kautta?

Oletetaan esimerkiksi, että on olemassa laajennusluokka, joka luottaa auttajaluokkaan hahmontamaan jotain näytöllä. API-avain voidaan määritellä tässä luokassa ja siirtää sitten apuohjelmaan tarvittaessa :

Seuraavaksi auttajaluokka voi soittaa mielivaltaiselle API:lle (kutsun sitä Canvasiksi, koska olemme hypoteettisesti jotain) käyttämällä URL-osoitetta ja välittää API-avaimen osana kyselymerkkijonoa.

Tällä tavalla:

  • on yksi paikka, jossa arvo säilytetään,
  • siinä on kuvaava nimi, joka osoittaa, mitä se tallentaa,
  • se voidaan siirtää muille luokille minimaalisella riippuvuudella,
  • muut luokat voivat viitata niihin paikallisina muuttujina tai ilmentymämuuttujina (riippuen siitä, kuinka ne välitetään).

Toki nämä arvot voidaan säilyttää muillakin tavoilla (taas käyttämällä functions.php :tä tai jotain vastaavaa).

Mutta jos työskentelet olio-ohjelmoinnin kanssa ja haluat työskennellä muuttumattomien arvojen kanssa WordPress-laajennuksessa, eikö olisi järkevää pitää sitä laajennuksen muodostavien luokkien yhteydessä?

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