Přejít k navigační liště

Zdroják » PHP » ORM test PHP frameworků – Qcodo, Recess

ORM test PHP frameworků – Qcodo, Recess

Články PHP

Tento další díl seriálu věnovanému testování PHP frameworků je zaměřen na výsledky projektů vytvořených pomocí frameworků Qcodo a Recess.

Qcodo 0.4.22

Qcodo je PHP framework, ve kterém lze jednoduše vytvořit jako malou, tak i robustní webovou aplikaci. Při tvorbě se používá metoda přetváření existujícího datového modelu na model objektově relační, ke kterému jsou přidávány doplňkové funkce. Obsahuje snadné generátory kódu využívající výhradně vlastností PHP a AJAX. V jádru jsou zabudovány nástroje pro práci s databází využívající techniku objektově relačního mapování neboli ORM.

Vlastnosti:

  • využívá ORM
  • obsahuje generátory kódu
  • kompletní podpora PHP a AJAX
  • zabudovány nástroje pro práci s databází
  • jednoduchá instalace

Požadavky pro použitou verzi:

  • HTLM server
  • PHP 5.2.x (a vyšší)
  • Databáze MySQL, Postgre SQL, MSSQL, SQLite…

Dokumentace a podpora:

Stránky pro dokumentaci jsou celkem nepřehledně umístěny a jsou chaotické a ne příliš obsáhlé. Ale na druhou stranu je na domovských stránkách k dispozici větší množství ukázkových kódů a nalezneme zde i hotové aplikace a ukázková videa. Podpora je zprostředkována přes diskuzní fórum a oficiální blog, naneštěstí mi přišly stejně nepřehledné jako dokumentace.

Výsledky testů:

  • Test výběr (SELECT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 2708 2703 249 3541 1002,7 457
2. Měření 3000 2747 2830 228 3169 996,3 364
3. Měření 3000 2803 2840 220 10205 973,6 706
Průměr 3000 2752,7 2791,0 232,3 5638,3 990,9 509,0

 

  • Test vložení (INSERT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 279 286 68 736 51,3 105
2. Měření 3000 275 285 65 649 51,9 102
3. Měření 3000 271 276 66 1058 51,3 112
Průměr 3000 275,0 282,3 66,3 814,3 51,5 106,3

 

  • Test úprava (UPDATE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 284 294 71 673 50 104
2. Měření 3000 292 298 69 607 50,2 103
3. Měření 3000 308 280 75 4093 47 379
Průměr 3000 294,7 290,7 71,7 1791,0 49,1 195,3

 

  • Test smazání (DELETE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 290 297 78 704 54,5 93
2. Měření 3000 276 282 69 736 51,9 98
3. Měření 3000 288 295 74 603 52,5 97
Průměr 3000 284,7 291,3 73,7 681,0 53,0 96,0

 

  • Test vše zároveň (ALL)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 12000 1021 378 72 5909 688,5 1192
2. Měření 12000 1052 387 40 8999 656,4 1292
3. Měření 12000 927 344 69 3524 741,9 1068
Průměr 12000 1000,0 369,7 60,3 6144,0 695,6 1184,0

 

Grafické znázornění:

Qcodo grafy

Recess 0.20

Tento framework využívá ke svému chodu jádro s velmi nízkou paměťovou náročností, které ve výsledné aplikaci zanechává jen malý otisk použitého projektu. Lze ho rozšířit o velké množství funkcí a nástrojů usnadňujících celý proces programování. V základní konfiguraci jsou zahrnuty velmi užitečné ladící a diagnostické nástroje, které pomáhají tvořit bezchybný a plně funkční kód. Návrh celé aplikace se řídí vlastnostmi objektového programování skriptovacího jazyka PHP, s využitím deklarací v poznámkách. Pro komunikaci s různými typy databází je použito objektově relační mapování, které automaticky propojuje výsledky se strukturou objektového programování. Využívá návrhový vzor MVC, díky kterému je velice přehledná i celá výsledná struktura aplikace. K bezchybnému přesměrovávání za běhu Recess doporučuje mít povolen modul mod_rewrite, který usnadňuje práci s URL adresami.

Vlastnosti:

  • využívá deklarace v poznámkách
  • využívá ORM pro práci s databází
  • obsahuje nástroje pro diagnostiku a ladění
  • využívá MVC strukturu
  • malá velikost celkového jádra

Požadavky pro použitou verzi:

  • Apache server
  • PHP 5.2.4 (a vyšší)
  • Doporučeno je využít mod_rewrite

Dokumentace a podpora:

Veškeré návody a vysvětlení jednotlivých funkcí jsou zpracovány v podobě přehledné online dokumentace dostupné na domovských stránkách nebo ve formě tištěné knihy. Případné dotazy nebo nové nápady lze sdílet s ostatními programátory webových aplikací prostřednictvím diskuzního fóra (bohužel v době testu bylo nefunkční), blogu a oficiálního IRC kanálu.

Výsledky testů:

  • Test výběr (SELECT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 1459 1505 142 2097 2527,1 294
2. Měření 3000 1455 1514 148 2137 2539 276
3. Měření 3000 1464 1510 133 2553 2529,1 304
Průměr 3000 1459,3 1509,7 141,0 2262,3 2531,7 291,3

 

  • Test vložení (INSERT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 433 447 74 926 12,4 146
2. Měření 3000 440 465 84 1187 12,4 139
3. Měření 3000 444 465 80 1506 12,2 146
Průměr 3000 439,0 459,0 79,3 1206,3 12,3 143,7

 

  • Test úprava (UPDATE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 489 518 80 988 11,9 154
2. Měření 3000 468 497 76 1015 11,9 142
3. Měření 3000 469 493 78 912 11,8 141
Průměr 3000 475,3 502,7 78,0 971,7 11,9 145,7

 

  • Test smazání (DELETE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 473 500 74 1346 12,2 146
2. Měření 3000 468 499 79 1038 12,4 141
3. Měření 3000 434 462 79 980 12,4 138
Průměr 3000 458,3 487,0 77,3 1121,3 12,3 141,7

 

  • Test vše zároveň (ALL)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 12000 761 545 73 2120 1229,8 469
2. Měření 12000 762 543 75 2789 1231,8 472
3. Měření 12000 757 541 76 2063 1231,7 471
Průměr 12000 760,0 543,0 74,7 2324,0 1231,1 470,7

 

Grafické znázornění:

Recess grafy

Komentáře

Subscribe
Upozornit na
guest
4 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
PW

Bezcenny a zle postaveny test. Ako keby ho pisal nejaky studentik.

Petr Prchal

Vazne ti prijde tenhle zpusob vyuky nejlepsi? Neco hrozne sprasit a nechat si od internetu nadavat :) ? Neni spravny postup naucit se nejakou technologii (nebo aspon pochopit to, co merim) a pak o tom napsat clanek?

Tomáš Fejfar

> Nicméně nikdo není přes noc odborník
To nikdo nepopírá. Ale ne každý publikuje na odborném serveru :)

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.