|
Dispuneti de o prezentare detaliata a framework-ului nostru chiar pe site, in sectiunea "Cum te ajuta phprel". Daca va doriti sa vedeti concret modul de lucru cu phprel, sau daca ati inceput lucrul cu phprel si aveti nevoie de sustinere, nimic mai simplu: consultati manualul phprel. Dispuneti de un mini exemplu pe care il veti realiza chiar dumneavoastra si care va va familiariza cu majoritatea conceptelor principale din phprel. Mai mult, sunt detaliate pe larg toate facilitatile si functiile phprel.
Daca abia acum va orientati in privinta framework-ului phprel, consideram ca trebuie sa cunoasteti doua aspecte esentiale referitoare la functionalitatile oferite si la performanta, care va vor ajuta sa luati decizia corecta si sa stabiliti daca phprel se potriveste proiectelor dumneavoastra sau nu.
In ceea ce priveste functionalitatea, framework-ul phprel este construit sa functioneze corect in php4 si php5, incepand cu php 4.3, pe servere Linux sau Windows, preferabil Apache sau orice alt server web care suporta url rewrite si care se poate conecta la o baza de date MySQL, versiunile 3, 4 sau 5. De asemenea, serverul web trebuie sa aiba instalata extensia php ZendOptimizer, preferabil versiunea 3.3 sau mai noua.
De asemenea, trebuie stiut ca phprel nu este un wizard de aplicatii web, nu contine cod gata scris, sau template-uri de site-uri. Orice aplicatie va fi scrisa de la zero, dar veti beneficia de un ajutor activ la implementarea ei. Aveti la dispozitie un motor de template-uri, suport pentru url rewrite, ajutor la construirea formularelor si listelor, a cererilor AJAX si a raspunsurilor la cereri, ajutor la crearea cosului de cumparaturi si la preluarea comenzilor, la crearea linkurilor de navigare pe site, la interconectarea cu multiple baze de date, la generarea sesiunilor persistente si la restrictionarea accesului pe baza grupurilor de utilizatori. In plus, phprel imbunatateste securitatea aplicatiei prin validarea url-urilor cu risc ridicat, revalidarea formularelor inainte de inserarea in baza de date, codificarea transferului de date prin AJAX si ajutor impotriva atacurilor de tip sql injection sau session hijacking. Majoritatea functiilor puse la dispozitie sunt automate sau asistate (lucreaza pe baza indicatiilor oferite de dumneavoastra). Rezultatul: timp castigat.
In ceea ce priveste performanta, trebuie avut in vedere faptul ca pe langa rolul structural si functional oferit de orice framework, phprel va ofera un sprijin activ la implementare. Nucleul analizeaza sursele, cautand indicatii, indicii, solicitari si legaturi pentru a realiza cat mai multe operatii care va sunt de folos, pe care le-ati solicitat sau ati dat de inteles ca aveti de gand sa le realizati. Acest rol este unul serios, care implica foarte multe calcule, foarte multi algoritmi si, in cele din urma, timp de executie si resurse consumate. Initial dezvoltat pentru piata de site-uri web medii si mici, cu un numar mediu de accesari si un trafic mediu realizat lunar, phprel se potriveste foarte multor site-uri, probabil in cazul a peste 80% dintre cele existente. In acest sector, scopul este dezvoltarea intr-un timp cat mai mic, mentenanta simpla si modificari ulterioare realizate intr-o clipita. Timpul de procesare si resursele nu sunt o problema, avand in vedere tehnica de calcul actuala si segmentul de piata destinatie.
Ulterior, am decis ca mediul web merita mai mult: merita un framework capabil sa ofere impresionantul sprijin oferit de phprel la performante demne de sectorul de piata superior, al aplicatiilor web cu trafic intens si un numar foarte mare de accese. Am pornit astfel intr-o noua misiune, aceea de a optimiza nucleul phprel in asa masura incat sa se ridice la inaltimea acestei provocari.
Ceea ce a rezultat este versiunea actuala de phprel, care ofera functionalitati unice si inovative la un standard de performanta bun. Este adevarat, sunt framework-uri pe piata sau in medii private care ofera o performanta "foarte buna", dar pentru sarcinile indeplinite de phprel, o performanta "buna" este de acceptat. Si acest lucru in situatia in care exista si framework-uri care nu dau randamentul oferit de phprel si au o performanta comparativa "slaba".
Ce am obtinut? Iata cateva cifre pentru ca dumneavoastra sa fiti in masura sa evaluati daca produsul se potriveste necesitatilor diferitelor proiecte la care veti lucra:
-
pe un server linux slab ca performanta (Athlon 64 x2, 4000+, 2.1 Ghz, 2 GB RAM, hdd SATA II 7200 rpm), pentru o complexitate de la mica la mare si excluzand paginile foarte simple (inclusiv pagina fara continut) sau foarte complexe:
-
timp de procesare fara cache: 0.06 – 0.25 sec
-
memorie utilizata: 1.5 – 5 MB
-
timp de procesare cu cache: 0.010 – 0.015 sec
-
memorie utilizata cu cache: 300 – 400 KB
-
medie rezultata pentru 10 incarcari cu rata de succes cache 90%: 0.015 – 0.0385 sec
-
medie rezultata pentru 100 incarcari cu rata de succes cache 50%: 0.035 – 0.132 sec
-
pe un server de inalta performanta, rezultatele vor fi evident mult mai bune
Cifrele afisate sunt obtinute prin masurarea timpului necesar executiei script-ului, masurand un timp initial pe prima linie din "index.php" si un timp final pe ultima linie inainte de afisarea continutului, rezultand o diferenta folosita de phprel pentru a incarca nucleul si a genera continutul paginii.
Aceste cifre sunt orientative si nu constituie un "best case scenario", timpii pot varia inclusiv intr-un sens pozitiv (spre mai mic) in functie de tipul de server, incarcarea serverului, tipul de aplicatie, complexitatea paginii. De asemenea, rata de succes a cache-ului va fi in multe situatii mult mai mare de 50% pe termen lung, iar pe termen scurt (10 afisari) ar putea fi 100%. Nu in ultimul rand, pe paginile cu trafic foarte mare penalizarea unui "cache miss" este redusa prin tehnologia inovativa cacheSentinels.
|