Utilizarea WordPress pentru dezvoltarea aplicațiilor web o revizuire

În ultimele luni, am analizat toate caracteristicile și aspectele care fac WordPress o bază potențială pentru dezvoltarea aplicațiilor.

De fapt, am cheltuit aproximativ 15 articole despre tot ce oferă WordPress.

Și, deși vom examina fiecare dintre punctele din acest e-mail, poate cel mai mare lucru pe care să-l luăm este că aplicațiile web care folosesc WordPress sunt diferite de utilizarea multor cadre populare care sunt disponibile în prezent, și anume deoarece WordPress nu este cadru.

Este o temelie pe care o putem construi; nu un cadru cu care construim.

Aceasta înseamnă că trebuie să ne schimbăm modelul de gândire cu privire la modul în care sunt construite diferite componente ale aplicației noastre, astfel încât acestea să funcționeze optim în contextul și în mediul în care funcționează.

1. Cadre și fundații

În primul post din serie, ne uităm pe scurt ce înseamnă să fii un cadru:

În cadrul programării pe calculator, un cadru software este o abstractizare în care software-ul care furnizează funcționalități generice poate fi schimbat selectiv prin cod suplimentar scris de utilizator, oferind astfel software-ul specific aplicației. Un cadru software este o platformă software universală, reutilizabilă pentru a dezvolta aplicații, produse și soluții. Cadrele de software includ programe de suport, compilatoare, biblioteci de coduri, seturi de instrumente și interfețe de programare a aplicațiilor (API) care reunesc toate componentele diferite pentru a permite dezvoltarea unui proiect sau a unei soluții.

Și ce înseamnă să fii o fundație:

Pe scurt, software-ul poate fi construit pe cadre, software-ul poate extinde fundațiile.

Aceste două definiții pun în scenă modul în care am începe să ne uităm la WordPress, cum este construit, modelele de proiectare pe care le implementează și cum trebuie să ne adaptăm modelul conceptual astfel încât să ne gândim în mod corect la baza de cod care stau la baza, astfel încât noi le folosim cât de bine putem pentru munca pe care trebuie să o facem.

2. Regândirea arhitecturii

Ca și în majoritatea aplicațiilor web, WordPress este structurat într-un mod similar:

  1. Stratul bazei de date
  2. Stratul aplicației
  3. Stratul de prezentare

Dar când vine vorba de a construi aplicații pe WordPress, schimbăm puțin lucrurile. Asta inseamna ca desi WordPress mentine aceeasi structura si ne putem construi propriile solutii folosind propriile noastre strategii, modele de design si ce nu, vom incerca un pic in aplicatia WordPress pentru ca logica noastra de business sa se traga , și pentru a afișa lucrurile în noi propriu de prezentare.

Pentru a face acest lucru, este important să înțelegeți modelul de design care conduce WordPress. Și deși MVC și variantele sale sunt toate furia în aceste zile, WordPress urmează o convenție diferită.

3. Modelul conceptual (evenimente, acțiuni și filtre)

Într-un articol ulterior despre arhitectura WordPress, am discutat modul în care WordPress utilizează programarea bazată pe evenimente.

În schimb, programarea bazată pe evenimente se îndepărtează de premisa că "ceva așa cum sa întâmplat". De aici și numele acţiuni în WordPress lingo (desigur, avem filtre, dar le voi acoperi pe moment).

Mai exact, am vorbit despre modul în care ne conduce la ideea cum, în programare, ceva se întamplă și apoi putem profita de aceste puncte-cheie.

În WordPress, aceste caracteristici speciale sunt numite cârlige și pot fi definite în două moduri:

  1. Acțiunile indică faptul că anumite lucruri, cum ar fi încărcarea anumitor date sau pregătirea anumitor caracteristici, sunt disponibile.
  2. Filtrele sunt puncte în ciclul de viață al aplicației WordPress care interceptează, gestionează și returnează datele înainte ca acesta să fie browserul sau baza de date.

Atunci când discutăm despre fiecare dintre acestea în detaliu. Prin folosirea unor definiții mai lungi, a unor exemple de cod și a câtorva dintre cele mai comune cârlige care sunt disponibile, am analizat modul de utilizare a fiecăruia dintre ele și modul în care ne pot beneficia atunci când lucrăm cu propriile noastre aplicații web.

5. Gestionarea utilizatorilor, sesiunilor și e-mailului

Apoi am început să vorbim despre câteva caracteristici care se află în centrul dezvoltării aplicațiilor web:

  • crearea și gestionarea conturilor de utilizator
  • sesiuni pentru date persistente
  • servicii de e-mail

Am acoperit aceste elemente în ordine nu numai pentru că ele sunt nucleul multor aplicații web moderne, ci pentru că ele sunt folosite de multe ori împreună cu altele.

De exemplu, atunci când un utilizator nou înregistrează un cont, acesta va primi un e-mail despre cum să-l activați sau cum să vă conectați și, după ce utilizatorul se loghează în sistem, este probabil să se stabilească o sesiune astfel încât datele să fie purtate cu ei în jurul site-ului până la încetarea sesiunii.

Motivul pentru care acest lucru tinde să fie un pic o problemă pentru construirea de aplicații în WordPress este că nu există într-adevăr un API pentru sesiuni. În schimb, trebuie să ne întoarcem la facilitățile oferite de PHP. Acest lucru nu este dificil, dar dacă nu ați avut niciodată timp să introduceți în mod corespunzător o caracteristică nativă PHP într-o aplicație existentă care nu o încorporează deja într-un fel, există mai multe puncte care trebuie înțelese.

Și, în sfârșit, e-mailul este evident cheia în comunicarea cu utilizatorii; cu toate acestea, mulți dezvoltatori care lucrează cu WordPress (indiferent de nivelul lor de experiență) nu sunt întotdeauna conștienți de abilitatea de a personaliza pe deplin e-mailurile trimise nu numai pe parcursul evenimentelor obișnuite, ci și atunci când se întâmplă anumite evenimente care pot justifica mail în contextul aplicației dvs., care nu este standard pentru WordPress.

6. Salvarea și preluarea datelor

Odată ce utilizatorul este conectat la aplicație, probabil că va salva și va recupera date, dar dacă nu sunt, există încă o șansă să înregistrăm câteva informații despre nimeni, să utilizați site-ul sau să îi returnați informațiile.

Din fericire, WordPress are un API care face acest lucru cu ușurință, dar, de asemenea, vine în detrimentul necesității de a valida și de a dezinstala date, atât la salvarea și recuperarea informațiilor.

Acest lucru este esențial pentru că vrem să ne asigurăm că informația rău intenționată nu este introdusă în baza de date și că trebuie să ne asigurăm că preluăm informațiile într-un mod sigur, astfel încât acestea să poată fi citite și ușor de utilizat pentru utilizatori.

7. Rescrierea URL-ului

Când am început să încheiem seria, am vorbit puțin despre schemele moderne de rescriere a URL-urilor și despre modul în care WordPress oferă o varietate de moduri de a face acest lucru din cutie.

Dar am luat o privire mai profundă și am comparat ceea ce oferă multe cadre moderne în calea personalizării rutelor. Mai exact, am analizat modul în care rutele RESTful pot fi implementate în WordPress folosind API-ul Rewrite pentru a oferi o schemă de URL mai curată, de ce acest lucru este benefic pentru utilizatori și cum să-l gestionați în WordPress.

În plus, am vorbit despre unele dintre capcane în acest sens și cum să le evităm atunci când încorporăm reguli personalizate în aplicația noastră.

8. Caching-ul

Deoarece viteza este o caracteristică, am continuat să vorbim puțin despre API-ul WordPress Transient pentru a afla cum să înveți să cache informațiile din aplicația noastră.

Deși există multe pluginuri și alte pachete software care pot introduce caching-ul în site-urile web și aplicațiile noastre, există lucruri suplimentare pe care le putem face ca programatori pentru a ajuta la valorificarea caracteristicilor native ale WordPress și a bazei de date care stau la baza, aplicații de cache.

Chestia este că, chiar dacă nu te vei baza pe aplicații de terță parte pentru cache, poți să profiți de modul în care WordPress organizează informații în baza de date, astfel încât să poți crește performanța muncii tale prin utilizarea acestui API.

9. Interogarea bazei de date

În cele din urmă, am încheiat explorarea și discuția despre caracteristicile utilizării WordPress ca fundație pentru dezvoltarea aplicațiilor, vorbind despre cele mai bune modalități de interogare a datelor.

Mai exact, am discutat:

  • WP_Query care este folosit pentru a efectua interogări mai avansate pe tipuri de posturi, taxonomii, meta date și multe altele.
  • WP_User_Query care este folosit pentru a scrie interogări avansate împotriva tabelului utilizatorului.
  • $ wpdb pentru scrierea interogărilor bazei de date personalizate.

Apoi am analizat cazurile de utilizare pentru fiecare dintre API-urile disponibile, cum să le folosim în proiectul nostru și în ce condiții ar trebui folosite.

Deoarece WordPress este o aplicație bazată pe baze de date, atunci aplicațiile pe care le construim pe partea de sus a acesteia vor fi, de asemenea, importante pentru a ști exact cum să interacționăm cu API-urile disponibile, astfel încât să nu numai că preluăm informații corecte, dar facem acest lucru într-un performant , ușor de citit, menținut și scalabil.

Unde mergem de aici?

Scopul final al acestei serii de articole a fost de a oferi o privire cuprinzătoare asupra a ceea ce oferă WordPress în calea dezvoltării aplicațiilor web.

Desigur, în calitate de dezvoltatori, trebuie să ne amintim că nu există un glonț de argint, deoarece se referă la furnizarea de soluții pentru noi înșine, clienții și clienții noștri - este vorba despre găsirea instrumentului potrivit pentru această activitate. În unele cazuri, asta va fi WordPress, în alte cazuri, nu va. Tot ce să spun, doar pentru că WordPress poate sa fi folosit nu înseamnă că ar trebui să fie folosit și nu ar trebui să lucrăm pentru a forța problema stabilită în WordPress atunci când aceasta nu este cea potrivită.

Acestea fiind spuse, atunci când WordPress face oferă funcționalitatea, API-urile și structura potrivită pentru a rezolva problema respectivă, apoi păstrați această serie de articole ușor accesibile pentru referință, având scopul de a vă oferi exact ceea ce aveți nevoie pentru a construi aplicații web solide pe fundalul WordPress existent.

Cod