Malli ja ehdollinen logiikka OOP:lla WordPressissä
Mallisto on yleistymässä WordPressissä, ja se on mielestäni hyvä asia.
Mutta se ei tarkoita, etteikö olisi hallinnoimiamme projekteja, joissa käytetään perinteisempää mallien tai osioiden näyttämistä. Lisäksi se ei myöskään tarkoita, että olemme vapautettuja ylläpitämästä koodipohjaa, joka käyttää koodia, joka ei käytä mallimoottoria.
Vaikka mallintaminen on mielestäni hyvä asia, en usko, että se on aina tarpeen. Se on kuitenkin sisältöä toiseen postaukseen.
Sen sijaan haluan käydä läpi prosessin, jossa käytetään ehdollista logiikkaa sen määrittämiseksi, näytetäänkö mallissa osittainen vai ei, ja tehdä se olioohjelmoinnin avulla.
Malli ja ehdollinen logiikka OOP:lla
Tätä varten oletetaan seuraavaa:
- Meillä on yksi laajennus, joka on riippuvainen toisesta ominaisuudesta.
- Toinen laajennus on valinnainen.
- Jos sitä ei ole, näytämme ilmoituksen. Jos se on olemassa, näytämme osittaisen.
Tarpeeksi suoraan eteenpäin, eikö?
Ainoa huomioitava asia on, että kaikki tämä logiikka säilytetään ensisijaisessa laajennuksessa (eli siinä, joka tarkistaa toisen laajennuksen olemassaolon).
1 Mallin ehdollinen logiikka
Ensimmäinen asia, joka on tehtävä, on toiminto, joka tarkistaa toissijaisen laajennuksen olemassaolon. Syy tähän on, koska malli näyttää jotain tältä:
Ja sitten osa voi näyttää suunnilleen tältä (se riippuu toteutuksestasi):
Koska mallit sisältyvät WordPressiin, funktio elää luokassa ja luokka tarkistaa laajennuksen olemassaolon.
Jos käytät mitä tahansa koodin haistajaa, se todennäköisesti laukaisee varoituksen, että menetelmää ei käytetä, mutta menetelmää käytetään, sitä käytetään vain mallitiedostossa. Huomautus luokassa. Kaiken kaikkiaan jotkut haistajistamme eivät ole niin älykkäitä. Vielä.
2 Pluginin palvelinpuolen koodi
Kun sinulla on yleinen käsitys siitä, miten se tulee toimimaan, on aika kirjoittaa koodi luokassasi.
Muista, että tämä on yksinkertainen toiminto: Sen tarvitsee vain tarkistaa laajennuksen olemassaolo. Voit tehdä tämän useilla tavoilla, mutta yleisin saattaa olla is_active_plugin API-funktion käyttö.
Huomaa, että kun käytät tätä toimintoa, se perustuu ajatukseen, että tiedät käyttämäsi laajennuksen nimen. Jos ei, on muita tapoja, mutta se ei kuulu tämän viestin piiriin.
Joka tapauksessa, joten koska logiikka on ehdollinen, sen on palautettava looginen arvo, ja juuri sen yllä oleva API-toiminto tekee. Joten palvelinpuolen toiminto voi näyttää suunnilleen tältä:
Ja koska mallikoodi kutsuu tätä funktiota (jonka näet yllä), se määrittää, onko sen näytettävä osittainen vai ei.
Tarpeeksi helppoa
Joillekin tämä on todella yksinkertaista tavaraa; toisille se on täysin erilainen lähestymistapa, koska se käsittelee huolenaiheiden suurempaa eriyttämistä.
Ja kun jatkan työskentelyä OOP Fundamentalsin läpi sivuston jäsenten kanssa, mielestäni on tärkeää jakaa myös joitain parempia käytäntöjä niiden kanssa, jotka eivät ehkä ole jäseniä, mutta haluavat kirjoittaa järjestelmällisempää koodia.