modele de design - mod corect PHP

acasă

modele de design - mod corect PHP

Privesti informatii detaliate despre ...

Există mai multe modalități de a structura și proiectarea de cod aplicație web, și puteți face eforturi maxime și să se gândească un pic pentru a înțelege ceea ce iti place arhitectura. În orice caz, este o idee bună de a utiliza modele de design comune, deoarece face codul mai ușor de înțeles pentru alții și ușor de utilizat.

Fabrica (eng. Fabrica)

Acest șablon este una dintre cele utilizate frecvent. În ea pur și simplu creează un obiect de clasă de care aveți nevoie. Luați în considerare următorul exemplu al unui model de fabrică:

Acest cod creează o „mașină“ obiect folosind fabrica. Procedând astfel, veți obține două avantaje: în primul rând, dacă doriți mai târziu să se schimbe, redenumi sau înlocui clasa de automobile, atunci puteți face cu ușurință acest lucru prin simpla schimbare a codului în fabrica AutomobileFactory, în loc de a schimba-l în toate domeniile proiectului care folosesc clasa de automobile; În al doilea rând, în cazul în care aveți nevoie pentru a crea un obiect de a efectua orice operațiuni cu acest obiect, puteți descrie aceste operațiuni în fabrică, în loc de fiecare dată pentru a le descrie la crearea unui nou obiect.

Utilizați modelul Factory nu este întotdeauna necesar (sau înțelept prea). În exemplul de mai sus că codul este atât de simplu de utilizat, care fabrica nu este nevoie pentru a adăuga complexitate. Cu toate acestea, dacă faci un proiect destul de mare și complex, utilizarea modelului Factory vă va permite să se evite o mulțime de complicații.

Single (Engl. Singleton)

Când creați o aplicație web necesită adesea conceptual și arhitectural pentru a oferi acces la o singură instanță a unei anumite clase. șablon unic permite acest lucru.

Acest cod implementează șablonul folosind variabile statice și metoda statică getInstance (). Vă rugăm să rețineți următoarele:

  • __construct constructor este declarat ca fiind protejat (protejat), pentru a preveni crearea unui nou obiect cu ajutorul noului operator.
  • __clone Magic metoda definită ca privat (private), pentru a preveni o instanță de donare folosind clona.
  • __wakeup metodă magică este definită ca o specială (privată), pentru a preveni clasa deserializarea exemplu printr-o funcție globală \ unserialize ().
  • O nouă instanță este creată prin legarii metodei statice, un cuvânt cheie getInstance static () static. Acest lucru permite subclasarea clasei Singleton în exemplu.

model Singleton este utilă atunci când trebuie să fie sigur că instanța este doar unul din ciclul de viață al unei cereri pentru o aplicație Web. Acest lucru apare de obicei atunci când există un obiect la nivel mondial (de exemplu, clasa de configurare) sau o resursă partajată (de exemplu, toate evenimentele).

Trebuie sa fii atent atunci când utilizați acest șablon, deoarece prin natura sa-l introduce exemplu declarație globală în cerere, reducând astfel testabilității. În cele mai multe cazuri, dependența de injectare poate (trebuie) să fie utilizat în locul Singleton. Folosind injecție de dependență, aceasta înseamnă că noi nu introducem conexiuni inutile în proiectarea aplicațiilor noastre, și obiectul, folosind o resursă comună sau globală care nu necesită cunoașterea unei anumite clase.

Controlerul frontal (Engl. Controler față)

controler frontal șablon utilizează un punct de intrare unic pentru aplicații (de exemplu, index.php), care procesează toate cererile. Codul pentru acest șablon este responsabil pentru încărcarea toate dependențele, prelucrarea și transmiterea cererii la browser. Controlerul din față poate fi benefică, deoarece facilitează codul modular și oferă o locație centrală în care codul poate fi pus în aplicare pentru fiecare cerere (de exemplu, igienizarea datelor de intrare).

Model-View-Controller (Engl. Model-View-Controller)

Model-view-controller (în continuare MVC) model din aceeași serie ca HMVC, MVVM. MVC vă permite să împartă codul de aplicație în obiecte logice care sunt proiectate pentru sarcini specifice. Modelul servește ca strat de acces la date și le returnează într-un format care necesită o aplicare. Controlerele gestiona cererile, procesa datele obținute din modelul și descărcați prezentarea prin trimiterea unui răspuns. Vizualizări conțin șabloane (marcare, XML, etc.) care sunt trimise la browser.

MVC este cel mai comun model arhitectural care este utilizat în cadrele populare PHP.


PHP: modul corect de Josh Lockhart este licențiat sub o licență Neadaptată Creative Commons Attribution-NonCommercial-ShareAlike 3.0.
Bazat pe o lucrare la www.phptherightway.com.