✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Peatage plugina käivitamine ilma sõltuvuseta

6

Kui lähenete paljudele WordPressi pistikprogrammide arendamisele objektorienteeritud vaatenurgast, jõuate lõpuks punkti, kus te ei suhtle eriti WordPressi tuuma endaga.

Ja minu meelest on see hea. See on arhitektuuri tunnuseks, et struktureerite oma koodi õigesti. See on:

  1. Teil on WordPress põhitasemel,
  2. Teil on hulk klasse, mis asuvad vahetult WordPressi kohal ja vastutavad teabe saatmise eest pistikprogrammide vahel WordPressi ja WordPressist,
  3. Ja teil on ülejäänud kood, mis sisaldab ülejäänud funktsioone.

Kuidas seda rakendatakse, võib see erineda, kuid üldine viis, kuidas ma seda kujutan, on sama, kuidas ma kaldun mõtlema standardsele N-tasandi rakendusele, kus teil on andmekiht, rakenduse kiht ja esiosa.

Välja arvatud seekord, on teil WordPress, WordPressi ja ülejäänud koodiga suhtlemise kiht ning teate, ülejäänud kood.

Kuidas pistikprogrammi saab korraldada.

Mis juhtub siis, kui soovite peatada pistikprogrammi täitmise, kui see peab suhtlema kolmanda osapoole sõltuvusega ja peaks käivitama ainult siis, kui see sõltuvus on olemas?

Peatage pistikprogrammi käivitamine

PHP ja WordPressi olemuse tõttu saab seda teha mõnel viisil. Kood, mida ma jagan, ei kirjuta ette, kuidas seda teha.

Selle asemel on see viis seda teha (mis on välja tõmmatud millestki, mis on arendamisel). Lisaks näitan, kuidas see suhtleb ka mõne muu pistikprogrammi komponendiga.

1 Konstruktor

Kui loete piisavalt artikleid WordPressi ja objektorienteeritud programmeerimise kohta, avastate tõenäoliselt, et konksude määratlemiseks ei tohiks konstruktoreid kasutada. Ja nõustun.

See loob tarbetu sidumise ja muudab testimise raskemaks. Mis on siis konstruktori eesmärk WordPressi-põhises koodis?

Kasutan seda samadel põhjustel, mida võiksite oodata mis tahes muus keeles: klassi atribuutide lähtestamiseks. Allolevas koodis näete kolme asja.

  1. Initsialiseerin kinnisvara,
  2. Kontrollin, kas on olemas sõltuvus kolmandast osapoolest,
  3. Kui ei, siis lisan veateate,
  4. Uuendan vara.

Muidugi, see on paljusõnaline, kuid see ei kasuta väärtuste lähtestamiseks nutikat koodi.

(Mida vanemaks ma olen saanud, seda rohkem on mulle meeldinud konkreetne kood, kuna see muudab selle lugemise, kättevõtmise ja kiirema liikumise lihtsamaks kui alternatiiv.)

2 Initsialiseerimismeetod

Kuna me ei kasuta WordPressi konksudega töötamiseks konstruktorit, peaks see funktsioon eksisteerima mõne muu meetodi kontekstis.

See annab meile spetsiaalse koha seda tüüpi funktsioonide paigutamiseks, ülejäänud klassist lahtiühendamiseks ja WordPressiga suhtlemiseks ainult siis, kui meetod on selgesõnaliselt välja kutsutud.

Kuid pidage meeles, et kogu selle mõte, mida ma käsitlen, on seotud pistikprogrammi täitmise peatamisega – mitte sellega, kuhu konksud paigutada.

Oletame, et kolmanda osapoole sõltuvust pole olemas, mis siis saab? Tuletame meelde, et konstruktoris määrati atribuut, mis võimaldab meil otsustada, kas peaksime konksude seadistamisega edasi liikuma või mitte:

Ja kui see on paigas, siis ülejäänud koodi ei käivitata.

Palju sõnu, vähe koodi

See kõlab nii väga väikese koodi kohta palju selgitusi.

Kuid osa sellest on ka püüdes edasi anda WordPressi-põhise projekti osade eraldamise olulisust ülejäänud tuumast, et osad saaksid omavahel suhelda, ilma et oleks vaja kogu aeg tuumaga rääkida.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem