Framework-uri PHP

Ce este un framework ?

In esenta, este un set de clase PHP si functii la care dezvoltatorii adera atunci cand creeaza un site. Paradigma MVC poate fi vazuta ca o extensie la motoarele de sablonare (templating engines). Mai jos avem o scurta explicatie:

  • Model (model): Modelul contine codul logic (business logic code) pentru server. Asta implica de obicei citirea si scrierea catre o baza de date in aditie cu niste pre- sau post-procesari.
  • Vedere (view): Aici continutul este afisat utilizatorului intr-un mod particular, in general marcaje HTML, desi pote fi si intr-un format JSON sau XML.
  • Controlor (controller): Un controlor este in esenta manager-ul. Prima data intercepteaza URL-ul, pe urma apeleaza modelul si vederea corecta inainte de a afisa continutul unui browser sau unui dispozitiv mobil.

Cum ne poate ajuta ?

Folosirea unui framework ar putea sa nu fie raspunsul la fiecare proiect. Mai jos avem cateva argumente pro si contra in folosirea acestora:

Pro

  • pot fi folosite pentru dezvoltarea rapida de aplicatii
  • cum fiecare proiect este bazat pe o structura similara, permite un ciclu mai rapid de dezvoltare
  • dezvoltatorii pot trece de la un proiect la altul fara a se ingrijora prea mult de structura codului
  • codul de baza se va schimba mai rar, rezultand intr-un site mai stabil

Contra

  • unele framework-uri au o curba de invatare mai abrupta
  • poate fi dificila gasirea unui dezvoltator cu experienta intr-un anumit framework
  • nu toate framework-urile sunt lipsite de probleme (bug free)
  • hacker-ii pot exploata vulnerabilitatile din framework-uri

Caracteristici suplimentare ale framework-urilor

  • Functii ajutatoare (helper functions)
  • Caching
  • Unitate de testare (unit testing)
  • Generare de forma (form generation)
  • Sesiune (session)
  • Sablonare (templating)
  • Extindere / module provenite de la terte parti
  • ACL (management de control al accesului si al autentificarii)

Cele mai bune framework-uri PHP pentru dezvoltatori

  • Yii – Framework rapid, sigur si profesionist – http://www.yiiframework.com/
  • Cake PHP – http://cakephp.org/
  • Zend Framework – http://framework.zend.com/
  • Symphony – Framework PHP cu performanta inalta – http://www.getsymphony.com/
  • Laravel – Un framework pentru artizani – http://laravel.com/

Concluzii

In majoritatea cazurilor, framework-urile aduc o mana ajutatoare oricarui proiect. Dar ca orice instrument, cat de mult pot ajuta variaza in functie de circumstante.

Daca site-ul dumneavoastra implica mai mult continut, Drupal sau WordPress ar putea fi o alegere mai buna. Daca construiti urmatorul Twitter pentru a fi lansat imediat, Yii sau CakePHP ar fi variante foare bune. Daca mediul de lucru este corporativ, atunci Zend sau Symphony s-ar potrivi foarte bine.