Výsledky zozbierané pri testovaní PHP frameworkov CakePHP, CodeIgniter, Prado, Symfony, Zend
Existuje neprehľadné množstvo PHP frameworkov a rozdielov medzi nimi. Niekoho by to až mohlo odradiť, ale prínos je nekompromisný. Je dobré sa orientovať na framework so širokou komunitou, alebo prípadne projekt vyvíjaný nejakou spoločnosťou, pri ktorých sa dá predpokladať dlhá podpora a vývoj. Na získanie prehľadu o rýchlostiach otestujem aplikácie pomocou JMeter a na základe dĺžky odozvy na požiadavku, určím rýchlosť spracovania požiadaviek daným frameworkom. Pomocou programu PHP Depend zmerám zložitosť a veľkosť zdrojového kódu. Z nameraných údajov zostavím poradie frameworkov podľa rýchlosti. Ohodnotím dokumentáciu a prístupné informácie pre daný framework.
Zobrazenie jedného záznamu z tabuľky Members.
Všetky namerané údaje sú v milisekundách.


Zobrazenie zoznamu záznamov z tabuľky Users.
Všetky namerané údaje sú v milisekundách.


Úprava jedného záznamu z tabuľky Users.
Všetky namerané údaje sú v milisekundách.


Pridanie nového záznamu do tabuľky Memebers.
Všetky namerané údaje sú v milisekundách.


Poradie frameworkov podľa rýchlosti

Prehľad dostupných zdrojov informácií potrebných pre oboznámenie sa s frameworkami.
|
|
Dokumentácia |
Video kurz |
Návody v angličtine |
Návody v slovenčine |
|
CakePHP |
100.00% |
|
x |
x |
|
CodeIgniter |
95.00% |
x |
x |
|
|
Prado |
95.00% |
x |
x |
|
|
Symfony |
100.00% |
|
x |
x |
|
Zend |
100.00% |
x |
x |
x |
Záver
Niektoré frameworky obsahujú veľké množstvo knižníc, ktoré sú schopné pokryť možno aj väčšinu potrieb bežnej aplikácie. Na druhej strane patria tieto frameworky k tým pomalším s väčším výpočtovým zaťažením. Frameworky s menšou škálou knižníc sú modulárnejšie, aby ich bolo ľahšie rozširovať o potrebné moduly. Dôležitou časťou každého frameworku je dokumentácia, ktorá nám podľa svojej úrovne umožní porozumieť frameworku, naučiť sa jeho základné funkcie a ich parametre. Komunita vývojárov a programátorov pri každom frameworku hrá tiež svoju úlohu a poskytujú množstvo informácií na svojich fórach ohľadom riešenia rôznych problémov. Každý z frameworkov poskytoval pomocou rôznych parametrov generovanie základných štruktúr zopár aplikácií a ich komponentov. Vďaka tomu je možné vygenerovať napríklad základ aplikácie pre osobný blog. Samozrejme, že táto aplikácie nie je úplne hotový blog, ale 70 % nudného a stále sa opakujúceho programovanie je už hotová. Po dlhšom hľadaní som narazil aj na samostatné aplikácie, ktoré boli napísané vo frameworkoch CakePHP, CodeIgniter a poskytovali veľmi sofistikované pracovné prostredie. Po základnej konfigurácii generovanej aplikácie a pripojenia k databáze je možné vygenerovať všetky základné funkcie na obsluhu základnej práce s tabuľkami. Vygenerovaná aplikácia dokáže prehliadať tabuľku, ukladať nové záznamy, upravovať a mazať v tabuľke. Tieto aplikácie výrazne znižujú čas potrebný na vytvorenie základnej kostry novej aplikácie, čo znamená uľahčenie práce s daným frameworkom a automatizáciu určitých krokov. Počas testovania sa aplikácie správali ako som predpokladal, väčšie a komplexnejšie frameworky boli pomalšie a menšie boli rýchlejšie. Príjemným prekvapením bol framework CakePHP, ktorý dosiahol najlepšie výsledky v rýchlosti a predstavoval zlatý rez medzi rýchlosťou a rozsiahlosťou ponúkaných funkcií. V súčastnosti, kedy internet stále viac rastie a prináša stále nové služby, je potrebné tvoriť aplikácie pre sieť efektívnejšie, bezpečnejšie a modulárnejšie. Frameworky tieto svoje predsavzatia spĺňajú a je už len na konkrétnom projekte a programátorovi, ktorý z nich si vyberie a použije.












