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

Zdroják » PHP » ORM test PHP frameworků – Seagull, Symfony

ORM test PHP frameworků – Seagull, Symfony

Články PHP

V tomto díle se dozvíte naměřené výsledky dalších populárních frameworků, a to Seagull a Symfony.

Seagull 1.0.4

Seagull je framework využitelný k tvorbě nejen webových projektů, ale také ho lze využít při návrhu konzolových aplikací nebo grafického uživatelského rozhraní. Ve svém kódu se zaměřuje výhradně na objektově orientované programování jazyka PHP, propojené s návrhovým vzorem MVC. Jádro celého frameworku je velice úsporně navrženo a lze ho rozšířit o velké množství různých doplňků nebo podpůrných funkcí. Jednou z důležitých vlastností je možnost různých druhů výstupu aplikace nebo jednoduché propojení s kódem třetí strany.

Vlastnosti:

  • malé jádro s možností rozšíření
  • využívá objektové programování
  • použití MVC vzoru
  • jednoduché propojení s kódem třetí strany
  • různé formáty vstupu a výstupu
  • rychlé vytvoření celé aplikace

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.1 (a vyšší)
  • Databáze MySQL, Postgre SQL  nebo Oracle

Dokumentace a podpora:

Na oficiálních stránkách je dostupná nejen podrobná dokumentace v podobě projektu wiki, ale i velké množství ukázkových příkladů a výukových kusů kódu. Veškeré tyto informace lze stáhnout v offline verzi. Podporu nebo informace od ostatních programátorů využívajících framework Seagull lze získat pouze přes dostupné sociální sítě nebo přes kontaktní formulář.

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 1028 914 93 4664 2983 511
2. Měření 3000 1063 912 88 4212 2934 543
3. Měření 3000 1007 863 97 4686 3005,9 543
Průměr 3000 1032,7 896,3 92,7 4520,7 2974,3 532,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 591 632 47 1113 348,9 178
2. Měření 3000 577 606 98 1335 353,3 171
3. Měření 3000 578 613 103 1123 349,9 173
Průměr 3000 582,0 617,0 82,7 1190,3 350,7 174,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 608 644 93 1075 342,8 170
2. Měření 3000 594 616 101 1351 346,7 178
3. Měření 3000 588 629 94 1023 347,3 162
Průměr 3000 596,7 629,7 96,0 1149,7 345,6 170,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 603 643 95 1318 346,8 163
2. Měření 3000 600 637 95 1580 349 177
3. Měření 3000 588 619 85 1257 347,9 165
Průměr 3000 597,0 633,0 91,7 1385,0 347,9 168,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 959 958 91 1895 1076 240
2. Měření 12000 699 690 93 1273 1437,1 153
3. Měření 12000 729 717 93 1774 1431,8 154
Průměr 12000 795,7 788,3 92,3 1647,3 1315,0 182,3

 

Grafické znázornění:

Seagull grafy

Symfony 2.2.0

Tento framework vznikl odvozením od projektu Mojavi3-DEV, který již využíval objektové programování. Současně se vyvíjí ve dvou různých verzích, kde každá z nich má troch jiné vlastnosti. Z části se nechal inspirovat jinými projekty, jako například  Ruby on Rails, Django nebo Spring. Je velice oblíbený zejména díky snadnému vytváření jednotlivých aplikací nebo velkým možnosem rozšíření. Kompletní struktura má velmi stabilní jádro řízené programovacím skriptovacím jazykem PHP s využitím jeho objektového programování. Obsahuje různé užitečné nástroje, s jejichž pomocí lze například komunikovat s nejpoužívanějšími druhy dostupných databází. Vzhledem k jeho vysoké popularitě se na tvorbě a úpravách celého projektu podílí veliké množství různých programátorů.

Vlastnosti:

  • velká podpora komunity programátorů
  • jednoduchá tvorba aplikace
  • využívá objektové programování
  • využívá velké množství nástrojů
  • možnost rozšíření
  • vysoká stabilita

Požadavky pro použitou verzi (2.1.3):

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

Dokumentace a podpora:

Celý oficiální web je sepsán velmi zajímavou a čtivou formou. Tento způsob je dodržen i v celé přehledně strukturované a podrobné dokumentaci, kterou lze stáhnout i v podobě PDF knihy. Avšak chybí zde vetší množství ukázkových příkladů nebo již hotových aplikací, ale díky rozsáhlé komunitě lze najít spousta webů věnovaných právě frameworku Symfony. Komunikace mezi programátory probíhá na běžně používaných portálech zahrnujících vše od sociálních sítí, přes IRC kanály a diskuzní fóra až po klasickou osobní domluvu pomocí emailu.

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 4469 4675 236 5753 329,7 773
2. Měření 3000 3213 3257 237 5534 458,2 365
3. Měření 3000 3170 3241 218 8306 461 567
Průměr 3000 3617,3 3724,3 230,3 6531,0 416,3 568,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 4054 3864 618 6995 8,8 767
2. Měření 3000 3622 3590 455 6075 9,6 590
3. Měření 3000 3699 3599 319 7065 9,4 682
Průměr 3000 3791,7 3684,3 464,0 6711,7 9,3 679,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 3800 3802 331 6198 9 571
2. Měření 3000 3752 3719 301 6442 9,2 630
3. Měření 3000 3844 3732 346 7614 8,9 766
Průměr 3000 3798,7 3751,0 326,0 6751,3 9,0 655,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 3204 3212 267 5586 10,6 540
2. Měření 3000 3235 3190 283 6927 10,6 627
3. Měření 3000 3275 3183 296 7553 10,4 725
Průměr 3000 3238,0 3195,0 282,0 6688,7 10,5 630,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 3526 3484 228 6550 113,5 541
2. Měření 12000 3526 3465 242 6586 113,5 572
3. Měření 12000 3548 3455 316 11826 112,9 643
Průměr 12000 3533,3 3468,0 262,0 8320,7 113,3 585,3

 

Grafické znázornění:

Symfony grafy

Komentáře

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

Takže pokračujeme opět v nicneříkajícím seriálu, ve stále stejně nudné formě.

Když už má jít o srovnávaní, nešlo by aspoň trochu sjednotit používané výrazy? Proč třeba jen u PostgreSQL se používá od Postgres, Postgre SQL, až po Postgre SGL — což ani přes upozornění přes twitter a diskusi stále není po více jak měsíci opraveno.

U jednoho frameworku je jedna odrážka pro OOP a MVC zároveň, jinde to jsou odrážky dvě.

kaktuss

Este kolko nicnehovoriacich dielov (opis a vlastnosti FWkov pozname, merania nam samostatne nic nedaju) bude nasledovat? Kedy predpokladate zverejnenie zaverecneho dielu?

Petr Prchal

Merime vykon ORM a zase tu neni ani uvedeno, jake ORM je pro testovani pouzito v jednotlivych frameworcich.. Snad se dockame napravy aspon v zaverecnem dile, ktery bude davat smysl…

PW

Nikdo uceny z neba nespadol, ale ucit sa tym ze clovek publikuje na weboch ktore maju byt urcene pre profesionalov je trosku pritiahnute za vlasy. Ako je mozne ze redakcia necha prechadzat taketo „skvosty“? To je to leto az tak zle?

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.