ORM test PHP frameworků – DooPHP, Jelix

V tomto díle srovnávání frameworků se podíváme na výsledky projektů psaných s pomocí DooPHP a francouzského frameworku Jelix.

Seriál: ORM test PHP frameworků (9 dílů)

  1. Spouštíme letní ORM test PHP frameworků 3.7.2013
  2. ORM test PHP frameworků – CakePHP, CodeIgniter 10.7.2013
  3. ORM test PHP frameworků – DooPHP, Jelix 17.7.2013
  4. ORM test PHP frameworků – Kohana, Laravel 26.7.2013
  5. ORM test PHP frameworků – Nette, Prado 31.7.2013
  6. ORM test PHP frameworků – Qcodo, Recess 7.8.2013
  7. ORM test PHP frameworků – Seagull, Symfony 14.8.2013
  8. ORM test PHP frameworků – Yii, Zend Framework 21.8.2013
  9. ORM test PHP frameworků – PHP, závěr 28.8.2013

DooPHP 1.4.1

DooPHP obsahuje jádro s menší paměťovou náročností, z čehož vyplývá, že v základě nepoužívá nadbytečné knihovny. Jedná se o framework s otevřeným kódem určeným pro rychlou tvorbu robustních aplikací. Je zaměřený výhradně na využívání objektového programování jazyka PHP.  Vytvořené aplikace následně patří do skupiny s malým otiskem použitého frameworku.

Vlastnosti:

  • jednoduchá struktura
  • snadno pochopitelný kód
  • zanechává malý „otisk“
  • malá paměťová náročnost
  • dobrá flexibilita

Požadavky pro použitou verzi:

  • PHP 5.1.x a vyšší
  • Apache server
  • MySQL, Postgre SQL 

Dokumentace a podpora:

Na oficiálních stránkách lze nalézt celkem rozsáhle zpracovanou dokumentaci, ovšem s trochu nepřehledným uspořádáním. Je jednodušší v ní najít vysvětlení nějaké funkce, než návod do začátků. To je způsobeno, alespoň pro mě, nelogickým umístěním odkazů na jednotlivé stránky. Na stránkách jsou dostupné i již hotové ukázkové aplikace. Pro případné dotazy, nebo k řešení témat neobsažených v návodech, lze využít IRC kanál, diskuzní fórum nebo oficiální blog.

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 236 237 24 722 1329,2 107
2. Měření 3000 274 267 27 656 1232,5 110
3. Měření 3000 238 259 24 469 1335 92
Průměr 3000 249,3 254,3 25,0 615,7 1298,9 103,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 155 149 59 845 41,9 64
2. Měření 3000 133 121 56 694 41,4 52
3. Měření 3000 180 151 58 590 34 94
Průměr 3000 156,0 140,3 57,7 709,7 39,1 70,0

 

  • 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 181 180 53 613 38,5 64
2. Měření 3000 154 149 53 368 37,5 55
3. Měření 3000 229 202 59 583 29 116
Průměr 3000 188,0 177,0 55,0 521,3 35,0 78,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 179 184 60 441 39 61
2. Měření 3000 153 142 55 467 38,2 59
3. Měření 3000 236 213 60 616 29 115
Průměr 3000 189,3 179,7 58,3 508,0 35,4 78,3

 

  • 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 192 187 24 651 573,6 73
2. Měření 12000 173 166 24 1024 569,1 66
3. Měření 12000 271 251 24 878 389,6 125
Průměr 12000 212,0 201,3 24,0 851,0 510,8 88,0

 

Grafické znázornění:

DooPHP grafy

Jelix 1.5.0

Tento francouzský framework využívá programovací skriptovací jazyk PHP s doplněním o vlastní šablonovací systém s příponou *.jTpl. Obsahuje také podporu MVC návrhového vzoru a dalších moderních nástrojů. Jeho velká výhoda je podpora různých formátů výstupu obsahujících nejen standardní (X)HTML, ale také například RSS, ZIP, PDF, RDF, XUL… Od většiny ostatních se tento projekt liší tím, že pro vytvoření celého projektu nebo potřebných DAO objektů je zapotřebí využít příkazový řádek. Velikou výhodou je možnost výběru z různých jednoduchých grafických rozhraní, která jsou již předdefinována a stačí je jen propojit s požadovanou funkcionalitou. K dispozici je i snadná rozšiřitelnost celého jádra o nové doplňkové nástroje.

Vlastnosti:

  • snadné vytvoření aplikace pomocí příkazové řádky
  • využívá MVC a DAO objekty
  • jednoduchá rozšiřitelnost
  • různé formáty výstupů ((X)HTML, ATOM, RSS, ZIP, PDF, RDF, XUL…)
  • využívá vlastní šablonovací systém jTpl

Požadavky pro použitou verzi:

  • PHP 5.3 nebo vyšší
  • DOM api pro práci s XML
  • Databáze MySQL  4.1(a vyšší), Postgre SQL 8.0(a vyšší), SQLite

Dokumentace a podpora:

Komunita podporující Jelix není příliš rozsáhlá, a to se projevuje i na dokumentaci. I přes její přehlednost zde chybí názorné návody a podrobnější příklady u novějších dostupných verzí. Sice na oficiálních stránkách jsou k dispozici návody pro starší distribuce, ale ty někdy využívají funkce, které již nejsou dostupné a byly nahrazeny novějšími. Z těchto důvodů je zde velmi užitečná podpora ostatních příznivců Jelix frameworku, která je k dispozici v podobě oficiálního blogu, IRC kanálu, diskuzního fóra nebo stránek věnovaných rozšiřujícím doplňkům.

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 480 452 41 2183 2884,7 258
2. Měření 3000 554 534 44 2272 2618,5 257
3. Měření 3000 537 512 39 1951 2643,7 251
Průměr 3000 523,7 499,3 41,3 2135,3 2715,6 255,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 430 435 75 1117 1114,7 151
2. Měření 3000 534 519 79 1534 956,8 214
3. Měření 3000 443 445 79 1634 1026,6 175
Průměr 3000 469,0 466,3 77,7 1428,3 1032,7 180,0

 

  • 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 450 456 82 1284 1113,3 141
2. Měření 3000 626 589 83 3428 799,5 333
3. Měření 3000 492 478 86 1640 941,3 196
Průměr 3000 522,7 507,7 83,7 2117,3 951,4 223,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 414 421 83 1093 1110 142
2. Měření 3000 530 510 89 1613 951,3 211
3. Měření 3000 427 423 81 3210 1077,3 188
Průměr 3000 457,0 451,3 84,3 1972,0 1046,2 180,3

 

  • 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 452 450 40 1682 1768,9 154
2. Měření 12000 387 376 46 1356 2031,2 133
3. Měření 12000 443 442 43 1894 1766,4 157
Průměr 12000 427,3 422,7 43,0 1644,0 1855,5 148,0

 

Grafické znázornění:

Jelix grafy

Student magisterského oboru Informační technologie na TUL. Jeho hlavní zálibou je programování webových aplikací nebo programů pro počítače a telefony. Oblíbené jazyky C#, Java, PHP. Velmi rád se učí novým věcem a nedokáže se od projektu odpoutat, dokud není dokončen. Pokud zrovna nepracuje vyráží na pěší výlety nebo na kolečkové brusle.

Komentáře: 3

Přehled komentářů

glubo Grafy a čísla
Honza Re: Grafy a čísla
pavel.s šeď
Zdroj: https://www.zdrojak.cz/?p=8833