I løpet av de siste månedene har vi tatt en titt på alle funksjonene og aspektene som gjør WordPress til et potensielt grunnlag for applikasjonsutvikling.
Faktisk har vi brukt omtrent 15 artikler som snakker om alt som WordPress tilbyr.
Og selv om vi vurderer hvert av punktene i denne e-posten, er det kanskje den største tingen å ta bort som bygger webapplikasjoner ved hjelp av WordPress, annerledes enn å bruke mange av de populære rammene som er tilgjengelige for øyeblikket, nemlig at WordPress ikke er en rammeverk.
Det er et fundament som vi kan bygge på; ikke et rammeverk som vi bygger.
Dette betyr at vi må skifte vår modell for å tenke på hvordan ulike komponenter i applikasjonen vår er bygget slik at de utfører seg optimalt i sammenheng og miljø der de kjører.
I det første innlegget i serien ser vi kort på nøyaktig hva det betyr å være et rammeverk:
I dataprogrammering er et programramme en abstraksjon der programvare som gir generisk funksjonalitet kan endres selektivt ved hjelp av tilleggsbrukerskode, og gir dermed programspesifikk programvare. En programvareramme er en universell, gjenbrukbar programvareplattform for å utvikle applikasjoner, produkter og løsninger. Programvare rammer inkluderer støtteprogrammer, kompilatorer, kodebiblioteker, verktøysett og applikasjonsprogrammeringsgrensesnitt (APIer) som samler alle de forskjellige komponentene for å muliggjøre utvikling av et prosjekt eller en løsning.
Og hva det betyr å være et fundament:
Kort sagt, programvare kan bygges på rammer, programvare kan forlenge fundament.
Disse to definisjonene angir scenen for hvordan vi da begynte å se på WordPress, hvordan det er bygget, designmønstre det implementerer og hvordan vi trenger å justere vår konseptuelle modell slik at vi tenker riktig på den underliggende kodebasen slik at Vi utnytter det så godt vi kan for det arbeidet vi må gjøre.
Som med de fleste webapplikasjoner er WordPress strukturert på lignende måte:
Men når det gjelder å bygge applikasjoner på toppen av WordPress, endrer vi ting litt opp. Det vil si at selv om WordPress opprettholder den samme strukturen, og vi kan bygge egne løsninger ved hjelp av egne strategier, designmønstre og hva ikke, vil vi hekte inn i WordPress-applikasjonen litt for at vår egen forretningslogikk skal kunne brenne , og for å vise ting i vår egen presentasjonslag.
For å gjøre dette, er det viktig å forstå designmønsteret som driver WordPress. Og selv om MVC og varianter er alle raseri i disse dager, følger WordPress en annen konvensjon.
I en oppfølgingsartikkel om WordPress 'arkitektur diskuterte vi hvordan WordPress benytter hendelsesdrevet programmering.
I stedet fungerer hendelsesdrevet programmering ut fra premisset om at "noe som skjedde." Dermed navnet til handlinger i WordPress lingo (selvfølgelig har vi også filtre, men jeg vil dekke dem kort).
Spesielt snakket vi om hvordan dette fører oss til ideen om hvordan, i programmering, noe skjer og så kan vi dra nytte av disse hovedpunktene.
I WordPress kalles disse spesielle funksjonene kroker og kan defineres på to spesielle måter:
Vi så når vi skal diskutere hver av disse i mer detalj. Gjennom bruk av lengre definisjoner, kodeeksempler og noen av de vanligste krokene som er tilgjengelige, har vi gjennomgått hvordan de skal brukes hverandre, og hvordan de kan være til nytte for oss når de jobber med egne webapplikasjoner.
Så begynte vi å snakke om flere funksjoner som ligger i hjertet av webapplikasjonsutvikling:
Vi dekket disse elementene i rekkefølge, ikke bare fordi de er kjernen i mange moderne webapplikasjoner, men fordi de ofte brukes sammen med hverandre.
For eksempel når en ny bruker registrerer en konto, vil han / hun motta en e-post om hvordan man aktiverer den eller hvordan man logger på, og når brukeren logger seg inn i systemet, vil de sannsynligvis etablere en økt slik at data blir båret med dem rundt på siden til deres økt er avsluttet.
Årsaken til at dette har en tendens til å være litt av et problem for å bygge applikasjoner i WordPress, er fordi det ikke er en økt API. I stedet må vi falle tilbake til fasilitetene som tilbys av PHP. Dette er ikke vanskelig, men hvis du aldri har tatt deg tid til å ordentlig introdusere en innfødt PHP-funksjon i et eksisterende program som ikke allerede inneholder det på noen måte, er det flere punkter som bør forstås.
Og til slutt er e-post åpenbart viktig å kommunisere med brukerne; Imidlertid er mange utviklere som jobber med WordPress (uavhengig av deres erfaringsnivå) ikke alltid klar over muligheten til å tilpasse e-postmeldinger som ikke bare sendes gjennom hele vanlige hendelser, men også når visse hendelser skjer som kan garantere en e-post i forbindelse med søknaden din som ikke er standard for WordPress.
Når brukeren er logget inn i applikasjonen, vil de sannsynligvis lagre og hente data, men hvis de ikke er det, er det fortsatt en sjanse for at vi kanskje registrerer noen av deres informasjon uten å vite hvordan de ' bruke nettstedet, eller å gi informasjon tilbake til dem.
Heldigvis har WordPress en API som gjør dette veldig enkelt, men det kommer også på bekostning av å måtte validere og sanitere data både når du lagrer og henter informasjon.
Dette er nøkkelen da vi vil sørge for at ondsinnet informasjon ikke blir satt inn i databasen, og vi vil sørge for at vi henter informasjon på en trygg måte slik at den er lesbar og brukervennlig for brukerne å se.
Da vi begynte å pakke opp serien, snakket vi litt om moderne URL-omskrivningsordninger og hvordan WordPress tilbyr en rekke måter å gjøre dette ut av boksen.
Men vi tok et dypere utseende og sammenliknet med hva mange moderne rammer har for å tilpasse ruter. Spesielt sett vi på hvordan RESTful ruter kan implementeres i WordPress ved hjelp av Rewrite API for å gi en renere URL-skjema, hvorfor dette er gunstig for brukerne, og hvordan man administrerer det i WordPress.
I tillegg snakket vi om noen av fallgruvene ved å gjøre dette, og hvordan å unngå dem når de innlemmet tilpassede regler i vår søknad.
Fordi hastighet er en funksjon, fortsatte vi med å snakke litt om WordPress Transient API for å lære hvordan å cache informasjon i vår søknad.
Selv om det er mange plugins og andre programvarepakker som kan introdusere caching i våre nettsider og applikasjoner, er det flere ting vi kan gjøre som programmerere for å dra nytte av de innfødte funksjonene i WordPress og dens underliggende database som vil fungere godt med sagt caching applikasjoner.
Saken er, selv om du ikke skal stole på tredjepartsprogrammer for caching, kan du fortsatt dra nytte av hvordan WordPress organiserer informasjon i databasen slik at du fortsatt kan øke ytelsen til arbeidet ditt ved å utnytte denne API.
Til slutt avsluttet vi vår leting og diskusjon av funksjonene ved å bruke WordPress som grunnlag for applikasjonsutvikling ved å snakke om de beste måtene å spørre data på.
Spesielt diskuterte vi:
WP_Query
som brukes til å utføre mer avanserte spørringer på posttyper, taksonomier, metadata og mer.WP_User_Query
som brukes til å skrive avanserte spørringer mot brukerens bord.$ wpdb
for å skrive tilpassede databasespørsmål.Vi så på brukstilfeller for hver av de tilgjengelige APIene, hvordan å utnytte dem i vårt prosjekt, og under hvilke forhold man bør bruke.
Fordi WordPress er et databasestyrt program, så vil applikasjonene vi bygger på toppen av det være så vel det er viktig å vite nøyaktig hvordan vi skal samhandle med tilgjengelige APIer, slik at vi ikke bare henter korrekt informasjon, men gjør det på en effektiv måte , lettlest, vedlikeholdbar og skalerbar måte.
Det endelige målet med denne serien av artikler var å gi så omfattende titt på hva WordPress tilbyr i veien for webapplikasjonsutvikling.
Selvfølgelig, som utviklere, må vi huske at det ikke er noen sølvkule da det gjelder å gi løsninger for oss selv, våre kunder og våre kunder - det handler om å finne det riktige verktøyet for jobben. I noen tilfeller vil det bli WordPress, i andre tilfeller vil det ikke. Alt det å si, bare fordi WordPress kan bli brukt betyr ikke at den skal brukes, og vi bør ikke jobbe for å tvinge vårt problem sett inn i WordPress når det ikke er riktig.
Når det er sagt, når WordPress gjør tilby den riktige funksjonaliteten, APIene og strukturen for å løse det oppgitte problemet, og hold deretter denne serien av artikler lett tilgjengelig for referanse, da den har som mål å gi deg nøyaktig det du trenger for å bygge solid webapplikasjoner på toppen av det eksisterende WordPress-fundamentet.