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

Rapid Prototyping: Prototype to Code, osa 2

4

Edellinen viesti osoittaa paljon työtä jonkin kerran nopean prototyypin ottamiseksi ja prototyypin ottamiseksi koodaamaan. Jos et ole seurannut, olemme tehneet seuraavasti:

  1. puhui ja rakensi prototyypin laajennukselle,
  2. kaaviollisesti yksi oliolähtöinen lähestymistapa voi toimia,
  3. ja muutti prototyyppimme todelliseksi koodiksi.

Tässä vaiheessa voimme tehdä vielä muutamia asioita koodimme parantamiseksi. Voimme nimittäin ottaa käyttöön nimiavaruuksien käsitteen. Tämä vie organisaation askeleen pidemmälle ja voi maksaa osinkoja isommille projekteille.

Joten tässä on katsaus, miten tämä toimii nykyisessä projektissamme.

Prototyyppi Koodiin: Nimiavaruudet

Olen käsitellyt nimiavaruuksia perusteellisesti aiemmissa viesteissä. Jos et ole lukenut, suosittelen. Palaa sitten takaisin ja katso postauksen loppuosa.

Jos päätät ohittaa artikkelin, tässä on lyhyt määritelmä nimiavaruudesta :

Nimiavaruudet on suunniteltu ratkaisemaan kaksi ongelmaa, joita kirjastojen ja sovellusten tekijät kohtaavat luodessaan uudelleenkäytettäviä koodielementtejä, kuten luokkia tai toimintoja…

Ja yleinen ajatus on, että järjestämme tunnit niiden loogisen suhteen perusteella.

Lisäksi järjestämme tiedostot hakemistoihin, jotka vastaavat nimiavaruutta. Tätä ei tarvitse tehdä, mutta mielestäni se auttaa, jos luokat järjestetään loogisesti levylle samalla tavalla kuin ne ovat virtuaalisesti järjestetty nimiavaruudessa.

Järjestetään tiedostot tämän jälkeen.

Tiedostojen järjestäminen

Sen sijaan, että aloittaisit päälaajennustiedostosta, aloitetaan järjestämällä tiedostomme ensin.

  • Meta Box- ja Meta Box Display -tiedostot sijaitsevat Display -nimisessä hakemistossa. Tämä on täysin mielivaltaista, mutta koska nämä tiedostot tekevät niin, näyttää järkevältä, että ne sijaitsevat siellä.
  • Voimme myös sijoittaa viesti-description.php- ja no-post-list.php- tiedostot kyseiseen hakemistoon, mutta sijoitetaan ne Views -nimiseen alihakemistoon. Haluat ehkä kutsua tätä malliksi tai osittaiseksi tai vastaavaksi.
  • Seuraavaksi meillä on luokat, jotka vastaavat tietokannan kyselyistä ja luokka, joka vastaa viestinnän koordinoinnista. Laitetaan jokainen näistä Utilityyn. Tietysti he voisivat mennä muihin paikkoihin, mutta muista, että tarkoitus on esitellä, kuinka nimiavaruuksia käytetään. Joten jos olet niin halukas, voit muokata tiedostojasi mielesi mukaan.

Jos olet noudattanut yllä olevia ohjeita, sinulla pitäisi olla hakemistorakenne, joka näyttää suunnilleen tältä:

Yksi tapa järjestää tiedostot.

Nyt on aika määritellä nimiavaruudet jokaiselle luokalle. Koska olemme järjestäneet ne kaikki hakemistoihinsa, nimitilan määrittäminen on helppoa; On kuitenkin tärkeää ymmärtää, että meidän on käytettävä use – avainsanaa, kun käytämme muissa nimiavaruuksissa sijaitsevia luokkia.

Käydään läpi jokainen tiedostomme alkaen Utilityn tiedostoista. Aloitamme ensin Post Messengerillä :

Huomaat, että tiedoston nimiavaruus näkyy otsikossa yhdessä ilmoituksen kanssa luomamme Post Query -luokan käyttämisestä. Olen lisännyt luokan nimen nimiavaruuden loppuun, joten minun ei tarvitse käyttää sitä koko koodikannassa.

Huomaa, että rakentaja näyttää nyt tältä :

Olen lisännyt $plugin_dir- argumentin, koska meidän on käytettävä sitä näyttääksemme kyselyn tulokset oikein. Ja koska ne sijaitsevat nyt sovelluksen eri alueella, toiminnot näyttävät tältä :

Katsotaan seuraavaksi Post Query -luokkaa. Mikään ei ole muuttunut tässä luokassa, paitsi että olemme antaneet sille nimitilan, ja olemme myös päivittäneet kyselyä vain vetääksemme takaisin kolme viestiä (tämän kommentin mukaisesti ).

Huomaa koodissa, että olen myös esikorjannut WP_Queryn kauttaviivalla, koska se on osa globaalia nimiavaruutta.

Siirrytään Display – hakemistoon ja katsotaan Meta Box -luokkaa. Tälle on myös annettu nimiavaruus ja se käyttää myös Meta Box Display -luokan täyttä nimeä, jota tarkastelemme hetken kuluttua.

Huomaa, että tämä rakentaja hyväksyy myös lisäosien hakemiston argumenttina ja välittää sen myös Meta Box Display -luokkaan. Tämä tarkoittaa, että viestien näyttämisestä vastaavat toiminnot löytyvät oikein paikaltaan Näkymät – hakemistosta.

Lopuksi tarkastellaan Meta Box Display -luokkaa. Tämä on yksinkertainen luokka, joka sisältää nimitilan ja viittaukset Post Messengeriin, jota olemme tarkastaneet edellä.

Tässä vaiheessa olemme saavuttaneet täyden ympyrän laajennuksen kautta. Yhdellä poikkeuksella: Bootstrap-tiedosto. Olemme lisänneet siihen nimitilan, ja meidän on päivitettävä tapa , jolla se ilmennetään :

Meillä on nimittäin:

  • määritteli nimiavaruuden,
  • mainitse Meta Box -luokan sijainti,
  • päivitti polut sisältämään tiedostojen löytämisen (mikä voidaan viime kädessä tehdä automaattilatauksella),
  • ja päivitti add_action- kutsun.

Tässä on lisätoimintokutsu: Koska WordPressin on löydettävä tämä funktio ja funktio sijaitsee nimiavaruudessa, funktion täydellinen nimi on tunnistettava, jotta WordPress voi kutsua sen. Tästä syystä funktion nimessä tarvitaan NAMESPACE.

Nyt olemme järjestäytyneet (yhtä poikkeusta lukuun ottamatta)

Kuten huomaat, nimitilat ja niitä vastaavat hakemistot lisäävät projektiin paljon organisointia. Sitä on helpompi seurata, helpompi ymmärtää, missä asiat menevät (sekä olemassa oleville että uusille tiedostoille). Ja se antaa vähemmän tunnetta, kun keräät useita tiedostoja yhteen paikkaan.

Vaikka luokka olisikin hieman monoliitti, se voidaan silti järjestää niin, että ylläpito on helppoa.

Tässä lisäyksessä on kuitenkin vielä jotain, mitä muutan: Pluginin hakemiston kiertäminen tällä tavalla ei auta heikentyneessä koheesiossa ja se yhdistää luokat tiiviimmin yhteen, koska bootstrap-tiedoston on välitettävä arvo yksi luokka, joka siirtää sen toiseen luokkaan, joka käyttää sitä tiedostojen lataamiseen ja niin edelleen.

Onko siis olemassa keinoja korjata tämä? Ehdottomasti. Ja ehkä tarkastelemme sitä viimeisessä viestissä.

Muista siihen asti, että laajennuksen uusin versio on saatavilla päähaarassa, joka on merkitty 0.3.0:ksi, GitHubissa.

Sarjan postaukset

  1. Nopea prototyyppien luominen WordPressillä: konseptista laajennukseen
  2. Nopea prototyyppien luominen WordPressillä: konseptianalyysi
  3. Nopea prototyyppi: Prototype to Code, osa 1
  4. Rapid Prototyping: Prototype to Code, osa 2
  5. Rapid Prototyping: Esittelyssä automaattinen lataus

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