PHP are in sfarsit atenţia pe care o merită. Mereu am crezut că PHP este unul dintre cele mai neglijate limbaje de programare. Cu toate ca era un limbaj foarte utilizat, nu existau suficiente framework-uri disponibile pentru el. Din fericire aceasta s-a intamplat doar pana la momentul lansarii PHP 5, cand au aparut o serie de framework-uri foarte bune.

Inainte de a ma apuca de dezvoltarea de site-uri web am facut o analiza asupra framework-urilor disponibile pe piata. Este evident ca fiecare framework are puncte tari si puncte slabe. Rolul acestei analize are menirea de a pune in cumpana aceste aspecte si la final, pe baza comparatiilor, sa se poata face alegerea framework-ului cel mai bun.

Am facut o scurta analiza pentru a intelege indeaproape cateva din framework-urile PHP disponibile. Dintre framework-urile PHP cele mai populare am ales sa analizez:

  1. Zend Framework.
  2. Prado Framework.
  3. CakePHP Framework.
  4. Symphony Framework.

Deoarece sunt mai mult de 40 de framework-uri PHP disponibile, este foare dificil de stiut care dintre ele este cel mai bun din punct de vedere al productivitatii pentru dezvoltarea de site-uri sau aplicatii web. Bineinteles ca framework-urile alese de mine sunt cele mai populare. Trebuie specificat ca acestea sunt free si ofera o suita de functionalitati care pot satisface cele mai variate nevoi in dezvoltarea de site-uri web.

Unele dintre functionalitatile pe care le pune la dispozitie oricare dintre framework-urile mentionate mai suns sunt:

  • PHP 5: este o necesitate! Toate framework-urile mentionate suporta PHP 5.
  • Baze de date multiple: Toate framework-urile mentionate suporta mai multe tipuri de baze de date, care pot fi folosite fara a face setari sau configurari suplimentare.
  • Validari: Toate framework-urile mentionate au implemetate functionalitati de validare si filtrare.
  • MVC: Toate framework-urile mentionate au implementat un sistem MVC (Model View Controller).


Acestea sunt cateva dintre componentele şi controlerele comune in cea mai mare parte a framework-urilor PHP. Prin urmare, ar trebui sa analizam, atunci cand dorim sa utilizam un framework PHP, toate celelalte functionalitati puse la dispozitie.
In contiunuare voi face o scurta analiza asupra fiecarui framework in parte:

Zend Framework: este un framework pe bază de componente care ofera solutii pentru aproape toate nevoile de programare ale unui dezvoltator PHP. Unele dintre componentele puse la dispozitie de Zend Framework sunt:

  1. Simplitate si productivitate mare
  2. Arhitectura flexibila
  3. Nu necesita configurari speciale penru utilizare
  4. Arhitectura MVC
  5. Suport pentru conectarea la diverse baze de date
  6. Suport pentru internaţionalizare (i18N) şi localizare (i10n)
  7. Modul de autentificare, autorizare si management-ul sesiunii
  8. Servicii Web (Web Services)
  9. Suport pentru Mail
  10. Modul de Search
  11. Suport AJAX
Prado Framework : un frmework pe care l-as caracteriza astfel: usor de folosit, reutilizabil, robust si performant. Ofera urmatoarele beneficii pentru dezvoltatorii de aplicaţii web:
  1. Orientat pe obiecte cu cod reutilizabil
  2. Programare pe baza de evenimente
  3. Separarea logicii de interfata
  4. Arhitectura modulara configurabila
  5. Suport complex pentru conectarea la diverse baze de date
  6. Ofera o multitudine de componente Web: controale HTML, validari, Datagrid, Wizard, etc... 
  7. Componente Web Ajax enabled
  8. Suport pentru internaţionalizare (i18N) şi localizare (i10n)
  9. Sistem configurabil pentru manipularea erorilor
  10. Sistem de logare a mesajelor
  11. Modul generic de cache-ing
  12. Modul de autentificare şi autorizare extensibil
  13. Elemente de securitate
  14. XHTML compliance
  15.   

CakePHP: Unele dintre cele mai importante caracteristici ale CakePHP sunt după cum urmează:

  1. Arhitectura MVC
  2. Layout-uri
  3. Suport AJAX, Javascript, Formulare HTML şi altele
  4. Validari built-in 
  5. Functionalitati de control al accesului
  6. Componente pentru securitate, Session şi de manipulare Request-uri
  7. Sistem de cache-ing foarte flexibil
Ca toate celelalte framework-uri, cakePHP este de asemenea un framework bazat pe componente.

Symphony Framework: Unele dintre caracteristicile framework-ului sunt:

  1. utilizare simpla folosind template-uri si helpere
  2. cache management
  3. URL-uri inteligente
  4. Layout-uri
  5. suport multilimba si i18N
  6. Arhitectura MVC
  7. support Ajax


Acestea sunt cele mai bune opţiuni disponibile in framework-urile PHP analizate. Pentru a-l alege pe cel mai bun, ar trebui analizate in amanunt fiecare dintre aceste functionalitati tinand cont de nevoile proiectului! Eu am facut cateva teste de implementare si am ales Prado Framework. Pe baza lui am dezvoltat o serie de proiecte de succes. Blog-ul de fata a fost implementat cu Prado si nu am inca de ce sa ma plang.

Orice sugestii si comentarii sunt, ca intotdeauna, binevenite.