phprel: as fast as you can imagine phprel: as fast as you can imagine
Cauta:
 
 
 
Testeaza acum
Este important sa gasiti un produs care vi se potriveste si va ajuta sa realizati mai eficient proiectele dumneavoastra. Noi stim ca phprel este ceea ce cautati, dar vrem sa va convingeti. De aceea aveti la dispozitie conturi de test pe serverele noastre, pentru a experimenta phprel.
testeaza acum
Array
Navigare rapida

Daca va intereseaza o anumita pagina a sectiunii curente, urmati link-ul corespunzator:

Avantaje | Timpul liber | Documentatie | Arhitectura: comparativ cu MVC
Ce versiune phprel ti se potriveste?

arhitectura: comparativ cu MVC

 

In primul rand, trebuie stiut ca framework-ul phprel nu propune arhitectura MVC ca solutie pentru dezvoltarea rapida a aplicatiilor web, pentru facilitarea mentenantei sau pentru posibilitatea de a reutiliza codul. O arhitectura mult mai eficienta a fost dezvoltata pentru a indeplini aceste scopuri.

 

Sa vedem mai intai ce inseamna de fapt MVC. Arhitectura Model-View-Controller presupune impartirea aplicatiei in trei componente: un model reprezentand informatia (sau datele) impreuna cu regulile de acces la date, un view corespunzator interfetei cu utilizatorul si un controller corespunzator agentului care raspunde la evenimente, de obicei actiunile utilizatorului, si solicita efectuarea de schimbari asupra modelului.

 

Principalul motiv pentru care arhitectura MVC a fost promovata in ultimii ani in crearea aplicatiilor web este separarea logicii aplicatiei (business logic, sau codului care se ocupa de obtinerea dinamica de date si de calculul dinamic de continut) de interfata cu utilizatorul. Aceasta separare permite echipei care dezvolta aplicatia sa poata realiza usor schimbari la nivelul interfetei fara a afecta codul corespunzator logicii aplicatiei, sau invers, sa schimbe regulile sau logica aplicatiei fara a modifica interfata. S-a vorbit mult despre facilitarea mentenantei si posibilitatea refolosirii codului unei aplicatii MVC intr-o alta aplicatie.

 

Vom analiza in cele ce urmeaza arhitectura propusa de phprel. Un site web este compus in mod evident din mai multe pagini web, iar fiecare pagina este compusa din mai multe elemente. Cu phprel, o pagina este separata in doua componente: logica paginii (business logic, sau codul care se ocupa de obtinerea dinamica de date si de calculul dinamic de continut) si template-ul paginii (sau prezentarea concreta a continutului si a interfetei cu utilizatorul). In scrierea logicii paginii, sau componentei de calcul, se separa accesul la date de calculele propriu-zise.

 

Accesul la date este realizat prin intermediul unor cereri, cereri adresate framework-ului phprel care insa sunt rezolvate pe baza componentei de descriere logica a bazei de date, asa numitele descrieri de tabel. O descriere de tabel poate fi confundata cu un model, din arhitectura MVC, dar difera prin faptul ca in arhitectura MVC modelul realizeaza el insusi selectarea sau modificarea datelor, in timp ce in phprel descrierea doar specifica riguros logica tabelului atat ca entitate izolata cat si ca parte a bazei de date, in timp ce selectarea si modificarea datelor se realizeaza automat de module din framework-ul phprel pe baza specificatiilor.

 

Sa recapitulam: avem asadar trei componente, o componenta ce descrie logica bazei de date, o componenta ce contine logica aplicatiei (obtine dinamic date sau calculeaza continutul) si o componenta ce contine prezentarea si interfata cu utilizatorul.

 

Acelasi avantaj al separarii logicii aplicatiei (business logic) de interfata cu utilizatorul. In plus, avantajul separarii mai precise si mai eficiente a logicii aplicatiei, la nivel de pagina. In arhitectura clasica MVC, un controller poate deveni exagerat de aglomerat si poate pune atat probleme de performanta (printr-un timp mare de incarcare) cat si de mentenanta (prin lizibilitatea scazuta a unui cod de mii de linii).

 

Nu in ultimul rand, descrierea bazei de date se face natural si pastreaza coerenta datelor la nivelul intregii aplicatii, facilitand in acelasi timp dezvoltarea. Un model clasic este rigid: o metoda de selectie a datelor aplicata aceluiasi model va furniza acelasi format de rezultat. In phprel, se pot solicita date prin diferite metode, si acele date vor fi furnizate in diferite formate, dar toate metodele vor utiliza aceeasi descriere a tabelelor implicate pentru a pastra coerenta si pentru a se conforma specificatiilor.

 

In timp ce modelul clasic incapsuleaza metodele de acces si structura datelor, in phprel structura datelor este separata si este aplicata in conjunctie cu diferite metode de acces.

 

O inovatie surprinzatoare adusa de phprel este capacitatea template-ului (nivelul de prezentare) de a aduce si afisa date direct din baza de date, datorita faptului ca formatul datelor este bine determinat in componenta de descriere a bazei de date iar asistentul phprel poate indeplini automat functia de obtinere de date si calcul al continutului (business logic).

 

Framework-ul phprel va propune o arhitectura cu o impartire similara in trei componente, dar mai eficienta decat arhitectura clasica MVC si orientata spre productivitate.

Citeste mai mult: paradigma comparativ cu OOP pagina urmatoare >