Objektorientert programmering i WordPress Et sammendrag

I løpet av de siste 12 innleggene har vi tatt en titt på grunnleggende om PHP, grunnleggende om objektorientert programmering, hvordan du gjør det innenfor WordPress, og vi har selv sett på begynnelsen av flere mellomliggende begreper som som arv.

På dette tidspunktet er det på tide å tegne denne nybegynnerens serie, men før jeg gjør det, vil jeg gjerne gi et sammendrag av hver artikkel slik at vi ikke bare får en oppdatering av alt vi har gjort, men slik at vi også har en enkelt sammendragsside til bokmerke for referanse.

Med det sagt, la oss se gjennom alt vi har dekket opp til denne artikkelen. Vi vil inkludere lenker tilbake til den opprinnelige artikkelen, korte beskrivelser og annen relevant informasjon.

En gjennomgang av objektorientert programmering i WordPress

I det første innlegget i serien diskuterte vi hvor vi var på vei med artiklene som skulle følge. Kort sagt ga vi en oversikt over hva vi ville diskutere, og flyttet videre derfra.

Kanskje den viktigste ta bort fra denne artikkelen var å forstå "hvor skal jeg begynne?" Det er et spørsmål mange spør når du kommer i gang med programmering. 

Til det sa vi:

Men de som har vært på det i lengre tid, glemmer ofte hva det var når de opprinnelig prøvde å finne ut hvordan dechifrer kode, forstå Hvorfor noe ble skrevet slik det var, hvordan forfatteren visste å bruke hvilken funksjon og hvor og bestemme begrunnelsen bak visse implementeringsbeslutninger.
Vi har alle vært der på et tidspunkt, ikke sant? Vi har sett på koden, prøvde å finne ut kontrollen, og spurte om gangen "hvor starter jeg selv?" 
Og formålet med denne serien er å svare på det spørsmålet.

Og så er det akkurat det vi hadde til hensikt å gjøre med de følgende punktene som var dekket hver i sin egen artikkel.

1. Klasser

Formålet med dette innlegget var å definere grunnlaget for objektorientert programmering - klasser. Først nevnte vi at klasser vanligvis er definert som følgende:

En klasse er en tegning for å skape et objekt.

Men vi innså også at dette er spesielt forvirrende for de fleste spesielt hvis de bare begynner objektorientert programmering. 

Så i stedet snakket vi om klassen med hensyn til hvilke egenskaper det definerer:

Så la oss generalisere denne ideen til objekter. Faktisk, la oss erstatte ett ord for en annen:
Et substantiv er et objekt.
Et adjektiv og et attributt (eller en eiendom).
Et verb er en metode (eller en funksjon).

I tillegg så vi på både gode og dårlige eksempler på hva som definerer en klasse, og vi jobbet med å definere en mental modell for hvordan å tegne klasser når de jobber med dem

Dette til slutt la bakken arbeidet for plugin som vi skulle skrive i fremtiden. Men først, vi trengte å sikre at vi hadde en solid forståelse av grunnleggende PHP, før vi flyttet inn i den mer avanserte funksjonen i klasser.

2. Typer

I denne artikkelen snakket vi om de to typene som finnes i WordPress:

  1. Enkle typer
  2. Komplekse Typer

Og så definerte vi hver av de ovennevnte som sådan:

Enkle datatyper er definert som sådan fordi dataene de representerer er, vet du, enkel. Det vil si at det normalt vil falle under banneret til sanne, falske, desimale og ord og / eller setninger.

Og så sa vi:

De to primære komplekse datatyper som vi skal fokusere på i denne serien som arrays og objekter. Det er flere, men de er utenfor rekkevidden av denne serien, så hvis du er interessert, kan du ta en titt på PHP-håndboken, men jeg advarer deg: Hvis du er en absolutt nybegynner, kan innholdet føle seg litt overveldende.

Kort sagt, eksempler på det ovennevnte kan illustreres som:

  • booleans
  • heltall
  • flytende punktnumre
  • strenger
  • arrays
  • objekter
  • … og mer

Selvfølgelig er disse først og fremst nyttige når vi begynner å bruke dem i sammenheng med mer avanserte funksjoner som betingede utsagn og kontrollstrukturer.

3. Kontrollstrukturer

I den første artikkelen i Kontrollstrukturer serier, snakket vi om betingede uttalelser. 

Først husk at:

"Kontrollstrukturer" er en fancy term term som beskriver hvordan vi kan, ahem, kontrollere hvordan koden flyter gjennom vårt program basert på en rekke faktorer.

De to kontrollstrukturer som vi snakket om er hvis da uttalelser og bryter / case uttalelser, så vi så på eksempler på hver. Dessuten jobbet vi i noen av kodene som vi skrev i enten vår plugin eller i vårt eksempel på arv.

I samme serie snakket vi om løkker. Huske:

Anta at vi har et sett med data, kanskje et sett med 10 innlegg, og at vi vil gå gjennom og skrive ut tittelen og datoen for hvert innlegg. Loops lar oss gjøre dette.

Listen over sløyfer som vi så på, inkluderte:

  • til
  • for hver
  • gjøre
  • samtidig som

Og vi så på eksempler på hver og hvordan de skal brukes mens de løser gjennom en rekke datastrukturer.

4. Funksjoner og attributter

Etter å ha dekket noen av de grunnleggende aspektene av PHP-utvikling, flyttet vi videre til dekkfunksjoner - som fortsatt kan brukes i prosessorprogrammering - og attributter som er unike for objektorientert programmering.

For å oppsummere, brukes funksjoner for å fullføre en arbeidsenhet, men de bruker også noen av de nevnte strukturer for å fullføre arbeidet:

Variabler, conditionals, sløyfer og så videre er ansvarlig for å fullføre en enkelt enhet arbeid, også; Men hver av dem jobber sammen med hverandre for å oppnå noe litt større enn seg selv.

Vi så en titt på et eksempel på ulike funksjoner - noen som var ekstremt enkelt, andre som var mer komplekse som leveraged alle ovennevnte typer, kontrollstrukturer og looper.

Men det er ikke alt: Siden funksjoner kan eksistere i en klasse og hjelpe en klasse til å fullføre sitt arbeid, jobber de også sammen med attributter (som er adjektivene til et objekt, hvis du husker fra tidligere i artikkelen).

Tingen om attributter er dette:

De er ikke noe annet enn variabler som vi har sett på tidligere i serien, og de kan holde noen form for verdi, enten det er en primitiv datatype, for eksempel en streng, heltall, boolesk eller det kan referere til en mer kompleks datatype, for eksempel en array eller et annet objekt.

Saken er, de er ikke låst inn i en funksjon. I stedet bor de på klassenivå. Og når de bor på klassenivå, er det et omfang av omfang som de - sammen med funksjonene - må ha.

5. Omfang

Derfra begynte vi å snakke om omfang.

Kort sagt, refererer omfanget til hvordan variabler og funksjoner kan være tilgang fra tredjepartsobjekter eller barnobjekter innenfor programmet. 

I artikkelen så vi selv på et høyt nivådiagram samt en kildekode som viste poenget.

Nøkkelen takeaway; Imidlertid er det omfanget kan komme i tre forskjellige smaker:

  1. offentlig som er tilgjengelig for klassen selv og alle tredjepartsklasser
  2. beskyttet som er tilgjengelig for klassen selv og alle underklasser
  3. privat som bare er tilgjengelig for klassen der den er definert

Dette ble enda tydeligere da vi begynte å bygge pluginet vårt ved hjelp av det vi har lært.

6. Bygg pluggen 

Bygg pluggen serier, snakket vi først og fremst om hva vi egentlig skulle bygge og da begynte vi faktisk å implementere plugin.

Gjennom hele denne prosessen lærte vi viktigheten av å planlegge pluginet før vi faktisk begynner å implementere slik at vi har en veikart av forskjellige slag for å vite hvor vi er på vei.

Etter å ha gjort det, begynte vi den faktiske implementeringen av ideene som vi hadde skissert til det punktet hvor vi hadde et fullt funksjonelt plugin som dekket nøyaktig alt vi hadde dekket opp til dette punktet.

Faktisk gjorde vi pluginet tilgjengelig for nedlasting på GitHub.

Men vi var ikke ferdige ennå. Etter det trengte vi å dokumentere pluginet ved hjelp av riktige kodekommentarer for å forklare hva hver av våre filer, klasser, attributter og metoder gjør.

7. Dokumenter pluggen

I denne serien av artikler snakket vi først om PSR-standardene, så vel som WordPress Coding Standards, og vi begynte å dokumentere grunnleggende om plugin-modulen.

Det var imidlertid ikke før den andre delen av serien at vi virkelig begynte å benytte dokumentasjonsstrategiene som gitt i WordPress Coding Standards. I dette innlegget har vi avrundet resten av dokumentasjonsarbeidet vårt ved å gi kommentarer til hver klasse, attributt, funksjon og til og med krever setning som finnes i plugin.

Til slutt, dette avrundet utviklingen av plugin og tillot oss å overføre diskusjonen til et mer mellomliggende emne.

8. Arv

Over de neste to innleggene dekket vi et av de mer mellomliggende emnene for objektorientert programmering: Arv. Dette var ikke ment å være en all-inclusive-primer på emnet, men det var ment å være nok til å hjelpe de av dere med en spirende interesse for objektorientert programmering i PHP, bli kjent med hvordan det fungerer.

I den første artikkelen tok vi en titt på noen av grunnleggende, så vel som hvordan den brukes i WordPress-programmet, spesielt når du bruker widgets.

I den endelige artikkelen bygde vi vår egen gjennomføring av arv som, selv om det var veldig forenklet, ga en brukbar demonstrasjon for hvordan arv virker innenfor PHP.

Konklusjon

Tydeligvis har vi dekket mye av innholdet i denne serien. Forhåpentligvis, de av dere som nettopp har begynt med å jobbe i WordPress og objektorientert programmering generelt, har funnet det nyttig.

Selv om jeg ikke er imot å kjøre en annen serie av avanserte emner, er jeg mer nysgjerrig på tilbakemelding, kommentarer og spørsmål om dagens serie. Vær så snill å gi det opp i kommentarfeltet.

Så langt som noen fremtidige serier er bekymret, gi meg beskjed og vi får se hva vi kan gjøre.

Annet enn det, lykke til med dine bestrebelser med WordPress, objektorientert programmering og så videre. Jeg kan ikke vente med å se hva du kommer med!