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

Rekisterimallin käyttäminen WordPressissä

10

Olen keskustellut Twitterissä useiden ystävien ja muiden kanssa ohjelmointikielten globaalien muuttujien käsitteestä. Niille, jotka ovat uusia ohjelmoinnin parissa tai jotka eivät ole varmoja siitä, miksi ne ovat huonoja:

Globaalien muuttujien käyttö tekee ohjelmistoista vaikeampaa lukea ja ymmärtää. Koska mikä tahansa koodi missä tahansa ohjelmassa voi muuttaa muuttujan arvoa milloin tahansa, muuttujan käytön ymmärtäminen voi edellyttää suuren osan ohjelman ymmärtämistä.

Tämä ei tarkoita, etteikö niillä olisi käyttöä, mutta jos olet kiinnostunut olio-ohjelmoinnista (etenkin WordPress-asetuksissa, joissa aiot käyttää PHP:tä), on tärkeää ymmärtää joitain parempia vaihtoehtoja. kuin globaalit muuttujat.

Toisin sanoen on olemassa tapoja käsitellä tietoja sovelluksesi ympärillä ilman globaaleja muuttujia. Ja yksi tällainen tapa on rekisterimalli.

Rekisterimalli WordPressissä

Ensinnäkin huomaa, että suunnittelumallit ylittävät minkä tahansa tietyn kuvion. Niin kauan kuin kieli tarjoaa objektien (tai jopa abstraktioiden) käsitteet, malli on mahdollista toteuttaa.

Mutta miksi vaivautua käyttämään tätä?

Rekisterimallin käyttäminen WordPressissä

Kuva Samuel Zeller Unsplashista

Lyhyesti sanottuna se tarjoaa oliopohjaisen tavan siirtää tietoja sovelluksesi ympärillä ilman globaaleja muuttujia. Asiat, kuten riippuvuusinjektiosäiliöt, ovat myös hyviä tähän, mutta ne eivät kuulu tämän postauksen piiriin. Väittäisin myös, että joskus ne voivat olla ylivoimaisia ​​pienten laajennusten yhteydessä.

Mallin toteuttaminen

Näin ollen kuinka voimme ottaa rekisterimallin käyttöön WordPressissä ja hyödyntää sitä työssämme? Katsotaanpa ensin kuvion perusrakennetta :

Huomaa, että sen toteutus on melko yksinkertaista:

  1. Luokka sisältää yhden taulukon yksityisenä omaisuutena.
  2. Tiedot lisätään taulukkoon tietyllä tunnuksella.
  3. Tiedot voidaan hakea kuviosta tunnuksella.

Voit jopa viedä tämän tietyn mallin seuraavalle tasolle, jos se hyväksyy vain tietyn tyyppisen luokan (kuten esimerkiksi AbstractEvent) ja sitten automaattisesti kutsua luokassa olevan funktion aina, kun se siirretään (tai haetaan) rekisteristä.

Mutta siitä on tulossa monimutkaisempi toteutus, jonka haluaisin tälle viestille.

Rekisterin määrittäminen

WordPressin koukkujärjestelmän luonteen vuoksi rekisteri on määritettävä ja rekisteröitävä WordPressiin tietyllä tavalla.

Oletetaan, että työskentelet laajennuksen kanssa. Tee laajennuksen bootstrap-tiedostossa jotain tällaista:

Tämä luo rekisterin ja sitten vastaavan suodattimen, jota voimme käyttää myöhemmin laajennuksessa rekisterin ja siten sen ylläpitämien muiden objektien hakemiseen.

Rekisterin käyttäminen

Jos haluat lisätä kohteen rekisteriin, kutsu lisäystoiminto ja anna yksilöllinen tunnus ja objektin esiintymä. Huomaa, että nykyinen toteutuksemme siirtää kaikki aiemmat objektin esiintymät roskakoriin, jolla on sama avain, ja korvaa sen sillä, mitä annamme sille.

Sieltä voit sitten noutaa rekisteriin tallentamasi objektit :

Ja voit käyttää niitä aivan kuten oy muillakin tavoilla. Mutta näin vältytään yksittäisten muuttujien, globaalien muuttujien tai muiden vaarallisten asioiden käytön tarpeelta.

Sana koetettavuudesta

Toinen etu, jonka löydän tämän mallin toteutuksesta, on se, että sen avulla voit kirjoittaa yksikkötestejä helpommin sitä vastaan, vaan se antaa sinulle myös mahdollisuuden kirjoittaa testejä sen sisältämiin objekteihin.

Tällä tarkoitan, että voit kirjoittaa luokkasi riippumattomammin WordPressistä, jolloin verkkotunnuksen logiikka erotetaan ydinsovelluksesta ja ne edustavat paremmin tietoja, joita niiden on tarkoitus ylläpitää.

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