ORM test PHP frameworků – CakePHP, CodeIgniter

V prvním díle tohoto seriálu jsme se seznámili se základní problematikou, s postupem a nástroji použitými pro testování. A zde se podíváme na jednoduché informace a výsledky frameworků CakePHP a CodeIgniter.

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

CakePHP 2.2.5

CakePHP patří mezi PHP frameworky používané pro tvorbu webových aplikací. Ve své základní struktuře využívá velké množství vlastností z Ruby on Rails. Je zaměřen na rychlý vývoj celé aplikace při využití návrhového vzoru MVC. Jeho struktura je srozumitelně uspořádána a tím je zajištěna i snadná orientace v celém kódu. Poskytuje velké množství nástrojů používaných například pro jednoduché ověřování uživatelů nebo důkladnou validaci vstupních dat. Komunikuje s téměř všemi nejpoužívanějšími typy databází a při jejich obsluze využívá ActiveRecord.

Vlastnosti:

  • srozumitelná struktura
  • jednoduché přidávání validací
  • programování v PHP a HTML
  • využívá Model-View-Controller strukturu
  • využívá ActiveRecord
  • propojení s nejpoužívanějšími databázemi
  • snadná rozšiřitelnost

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.2.8 nebo vyšší
  • databáze MySQL, Microsoft SQL server, SQLite, Postgre SQL

Dokumentace a podpora:

Díky jeho velké popularitě lze nalézt velké množství již hotových ukázkových aplikací nebo výukové kusy kódu. Na oficiálních stránkách lze informace čerpat z velmi rozsáhlé dokumentace, která je rozdělena na část věnovanou jednotlivým funkcím a část zabývající se návody a postupy. K dispozici jsou i stránky na nejpoužívanějších sociálních sítích a fórech a IRC kanál.

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 1524 1570 136 3709 1902,3 391
2. Měření 3000 1479 1539 159 2896 1928,3 346
3. Měření 3000 1596 1592 138 5631 1763,6 544
Průměr 3000 1533,0 1567,0 144,3 4078,7 1864,7 427,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 1493 1509 156 2992 33,6 410
2. Měření 3000 1147 1149 133 2364 42 333
3. Měření 3000 1215 1195 141 5679 40,1 442
Průměr 3000 1285,0 1284,3 143,3 3678,3 38,6 395,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 1181 1179 137 2715 40,8 358
2. Měření 3000 1165 1173 136 2659 41,6 346
3. Měření 3000 1233 1217 130 2799 39,2 360
Průměr 3000 1193,0 1189,7 134,3 2724,3 40,5 354,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 1127 1134 130 2533 42,6 330
2. Měření 3000 1143 1143 136 3169 42,2 333
3. Měření 3000 1238 1203 142 2928 39,2 389
Průměr 3000 1169,3 1160,0 136,0 2876,7 41,3 350,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 1124 1197 133 3026 42,6 346
2. Měření 12000 1257 1218 135 3422 621,6 362
3. Měření 12000 1280 1257 138 7721 618,8 469
Průměr 12000 1220,3 1224,0 135,3 4723,0 427,7 392,3

Grafické znázornění:

CakePHP grafy

CodeIgniter 2.1.3

Tento framework je vyvíjen společností EllisLab, která na tvorbě spolupracuje s veřejnou komunitou programátorů. Jedná se o další známý projekt využívající veškeré moderní nástroje. Jádro je velice úsporně navrženo a lze ho rozšířit o velkou řadu doplňků. Díky tomu je celá struktura přehledná. Mezi jeho základní vlastnosti se řadí využívání návrhového vzoru MVC, zanechávání malého otisku v celé aplikaci a takzvaná čistá URL. V důsledku jeho velké popularity a veřejného kódu může každý schopný programátor vytvořit nějaký doplněk. Díky tomu existuje mnoho nástrojů na práci s e-maily, obrázky a hlavně dostupná komunikace s téměř každým používaným typem databáze. Rozdílem od jiných frameworků je, že nevyužívá šablony a tudíž není potřeba se učit nějaký jazyk určený právě k jejich tvorbě.

Vlastnosti:

  • srozumitelná a intuitivní struktura
  • jádro nepotřebuje velké množství knihoven
  • používá „čistou URL“, jednoduché příkazy pomocí URL
  • využívá Model-View-Controller strukturu
  • dobrá rozšiřitelnost na práci s emaily, XML dokumenty, obrázky…
  • propojení s nejpoužívanějšími databázemi
  • nepoužívá šablony (templates)

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.1.6 nebo vyšší
  • Databáze MySQL(4.1+), Microsoft SQL server, SQLite, Postgre SQL, MySQLi …

Dokumentace a podpora:

Komunikace mezi jednotlivými příznivci probíhá přes oficiální IRC kanál nebo diskuzní fóra. Jako podpora velmi dobře poslouží i rozsáhlá dokumentace s mnoha ukázkovými příklady dostupnými na oficiálních stránkách.

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 302 292 26 1656 2627,5 172
2. Měření 3000 306 280 27 1687 2647,3 174
3. Měření 3000 295 284 25 3553 2644,7 168
Průměr 3000 301,0 285,3 26,0 2298,7 2639,8 171,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 241 232 58 718 20,6 101
2. Měření 3000 195 196 57 601 26,3 67
3. Měření 3000 196 193 65 529 23,2 79
Průměr 3000 210,7 207,0 60,0 616,0 23,4 82,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 129 140 15 240 33,6 54
2. Měření 3000 176 175 59 402 25,2 65
3. Měření 3000 216 209 61 561 21,8 92
Průměr 3000 173,7 174,7 45,0 401,0 26,9 70,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 185 181 59 641 24,5 74
2. Měření 3000 179 177 61 444 24,8 65
3. Měření 3000 217 217 48 555 21,8 88
Průměr 3000 193,7 191,7 56,0 546,7 23,7 75,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 199 204 25 722 1114,8 66
2. Měření 12000 218 221 26 814 1047,8 74
3. Měření 12000 235 219 25 1048 958,7 110
Průměr 12000 217,3 214,7 25,3 861,3 1040,4 83,3

 

Grafické znázornění:

CodeIgniter 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: 40

Přehled komentářů

Kolemjdoucí Je redakce při smyslech?
Martin Hassman Re: Je redakce při smyslech?
Dan Re: Je redakce při smyslech?
Jiří Knesl vic by me zajimal rozbor zdrojaku
Re: vic by me zajimal rozbor zdrojaku
hmm Re: vic by me zajimal rozbor zdrojaku
xanax Re: vic by me zajimal rozbor zdrojaku
kaktuss Re: vic by me zajimal rozbor zdrojaku
kaktuss Re: vic by me zajimal rozbor zdrojaku
Hmm Re: vic by me zajimal rozbor zdrojaku
karel Re: vic by me zajimal rozbor zdrojaku
glubo Re: vic by me zajimal rozbor zdrojaku
vojtech.dobes Re: vic by me zajimal rozbor zdrojaku
Vojtěch Matějka Re: vic by me zajimal rozbor zdrojaku
Martin Hassman Re: vic by me zajimal rozbor zdrojaku
Martin Hassman Re: vic by me zajimal rozbor zdrojaku
qwe Re: vic by me zajimal rozbor zdrojaku
vojtech.dobes Re: vic by me zajimal rozbor zdrojaku
hmm Re: vic by me zajimal rozbor zdrojaku
David Grudl Re: vic by me zajimal rozbor zdrojaku
hmm Re: vic by me zajimal rozbor zdrojaku
karel Re: vic by me zajimal rozbor zdrojaku
hmm Re: vic by me zajimal rozbor zdrojaku
qwe Re: vic by me zajimal rozbor zdrojaku
vaclav.sir Re: vic by me zajimal rozbor zdrojaku
kaktuss Re: vic by me zajimal rozbor zdrojaku
Jaroslav Jakoubě Re: vic by me zajimal rozbor zdrojaku
janek Re: vic by me zajimal rozbor zdrojaku
Jaroslav Jakoubě Re: vic by me zajimal rozbor zdrojaku
joe vpohode
janek Re: vpohode
glubo Postgre SGL
Jaroslav Kubíček WTF?
Franta. Re: WTF?
janek grafy
Jaroslav Jakoubě Re: grafy
janek Re: grafy
janek perex
Jan Machala Nerad hanim ale toto ...
Kristian Feldsam Divny test
Zdroj: https://www.zdrojak.cz/?p=8828