ORM test PHP frameworků – Yii, Zend Framework

V této části se zaměřím na dva poslední frameworky, které byly zahrnuty do porovnávání. Jedná se o další velice známé nástroje Yii a Zend Framework.

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

Yii 1.1.13

Pod tímto jednoduchým názvem se ukrývá zkratka z anglického „Yes It Is!“, neboli ve volném překladu „Ano je!“, která má znázorňovat přesnou odpověď na nejčastější otázky pokládané při zjišťování vlastností tohoto frameworku. Dle oficiálního webu mezi ně patří například „Je Yii rychlý?“, „Je Yii spolehlivý?“ nebo „Je Yii bezpečný?“. Na všechny tyto dotazy by měl právě reagovat pouze název celého projektu. Mezi další klíčovou vlastnost celého jeho jádra patří obrovské využití objektového programování u základních komponent, které díky tomu lze využívat samostatně nebo velmi jednoduše k nim přidávat nové funkce. K nástrojům usnadňujících práci přímo při programování aplikace se řadí například generátor validního XHTML kódu nebo podpora grafických motivů a jednoduché změny celého vzhledu výsledného projektu. Aplikace napsaná pomocí Yii obsahuje ve svém základu výkonné zabezpečovací komponenty, které ji chrání před všemi různými typy útoků.

Vlastnosti:

  • využívá objektové programování
  • jednoduchá a rychlá tvorba aplikace
  • využívá návrhový vzor MVC       
  • dobré zabezpečení
  • generátor validního XHTML kódu
  • podporuje motivy a různé vizuální změny aplikace
  • vestavěná autentizace a autorizace

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.1 (a vyšší)
  • Databáze MySQL, SQLite, Postgre SQL, SQL Server…

Dokumentace a podpora:

Tento framework je velmi přehledně a podrobně zdokumentován a na oficiálních stránkách je i dostatečné množství návodů a ukázkových kódů. Dokumentace je publikována i v podobě tištěných knih. Kvůli rozsáhlému zájmu programátorů z různých zemí je stránka podpory rozdělena do různých jazykových kategorií. Komunikace s ostatními programátory probíhá přes diskuzní fórum, IRC kanál nebo různé blogy.

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 1972 1973 159 5612 1919,7 606
2. Měření 3000 2173 2017 196 26994 1772,1 1269
3. Měření 3000 1931 2003 168 2820 1977,4 388
Průměr 3000 2025,3 1997,7 174,3 11808,7 1889,7 754,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 746 790 107 1357 72,6 187
2. Měření 3000 759 801 100 1328 71,8 188
3. Měření 3000 805 819 118 4410 70,5 384
Průměr 3000 770,0 803,3 108,3 2365,0 71,6 253,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 747 786 103 1657 72,2 197
2. Měření 3000 764 802 103 1528 71,5 193
3. Měření 3000 748 789 101 1454 72,4 198
Průměr 3000 753,0 792,3 102,3 1546,3 72,0 196,0

 

  • 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 358 364 73 1320 97,7 137
2. Měření 3000 383 398 78 1042 96,4 134
3. Měření 3000 368 381 73 1151 96,9 127
Průměr 3000 369,7 381,0 74,7 1171,0 97,0 132,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 1019 807 82 3785 986,5 628
2. Měření 12000 1050 812 85 7442 953,1 732
3. Měření 12000 1014 805 82 3235 990,5 625
Průměr 12000 1027,7 808,0 83,0 4820,7 976,7 661,7

 

Grafické znázornění:

Yii grafy

Zend Framework 2.1.4

Zend framework je další oblíbený nástroj určený pro rychlou tvorbu robustních webových aplikací s pomocí jazyka PHP. V jeho struktuře je využito objektově orientované programování a návrhový vzor MVC a celé jádro je děleno na jednotlivé moduly, které lze využít samostatně. Implementovány jsou i užitečné autentizační a autorizační nástroje, které zprostředkovávají chráněný uživatelský přístup k aplikaci. Zajišťuje možnost komunikace s téměř všemi druhy nejčastěji používaných databází a v případě nekompatibility lze vytvořit nebo sehnat modul doplňující chybějící funkcionalitu.

Vlastnosti:

  • rozsáhlá komunita programátorů
  • využívá MVC návrhový vzor
  • v jádru jsou implementovány autentizační a autorizační nástroje
  • podpora pro multi-databázové systémy
  • jednotlivé moduly jsou samostatně použitelné
  • podporuje událostmi řízené systémy

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.3.3 (a vyšší)
  • Musí být povolena funkce mod_rewrite
  • Databáze MySQL, SQLite, Postgre SQL, SQL Server…

Dokumentace a podpora:

Dokumentace je velmi podrobně a rozsáhle sepsána a lze se v ní snadno orientovat. K dispozici je velké množství jednoduchých návodů a ukázek kódu pro snadnější začátky a rychlé pochopení celé struktury. Náročnější programátor se může přihlásit i do různých výukových kurzů. Na domovských stránkách tohoto projektu lze s ostatními programátory komunikovat výhradně přes IRC kanál, ale díky jeho velkému rozšíření a oblíbenosti, je k dispozici mnoho stránek a článků věnovaných právě tomuto frameworku. 

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 1125 1178 91 1586 1086,2 222
2. Měření 3000 1378 1249 97 5798 896,2 613
3. Měření 3000 1139 1189 91 1460 1082,2 220
Průměr 3000 1214,0 1205,3 93,0 2948,0 1021,5 351,7

 

  • 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 1640 1660 180 5125 46,4 406
2. Měření 3000 1604 1666 182 2139 47,4 282
3. Měření 3000 1603 1664 162 2112 47,3 269
Průměr 3000 1615,7 1663,3 174,7 3125,3 47,0 319,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 1661 1711 162 5226 45,6 435
2. Měření 3000 1657 1716 165 2196 46 288
3. Měření 3000 1653 1713 165 2197 46 286
Průměr 3000 1657,0 1713,3 164,0 3206,3 45,9 336,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 1461 1526 152 1980 51,7 266
2. Měření 3000 1458 1518 158 1894 51,7 262
3. Měření 3000 1450 1514 151 2133 51,7 275
Průměr 3000 1456,3 1519,3 153,7 2002,3 51,7 267,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 1730 1694 90 6517 224 455
2. Měření 12000 1912 1967 93 3436 203,4 424
3. Měření 12000 1528 1588 91 2760 253,3 268
Průměr 12000 1723,3 1749,7 91,3 4237,7 226,9 382,3

 

Grafické znázornění:

Zend 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.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 6

Přehled komentářů

it expert průměr z průměrů
yed_ yesss
Ondřej Vašíček Yii - verze a info
kaktuss Re: Yii - verze a info
Jakub Polák Re: Yii - verze a info
iiic Musí být povolena funkce mod_rewrite ?
Zdroj: https://www.zdrojak.cz/?p=8855