PHP alapú keretrendszerek összehasonlítása - védés bemutató

1,334 views
1,100 views

Published on

PHP alapú keretrendszerek összehasonlítása.

A diplomamunka védésen vetített diasor.
Keretrendszerek: Zend Framework, Symfony, Yii, Codeigniter

http://phpframeworks.rutkai.hu/

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,334
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PHP alapú keretrendszerek összehasonlítása - védés bemutató

  1. 1. PHP alapú keretrendszerek összehasonlítása Készítette: Rutkai András
  2. 2. A PHP alapú keretrendszerek fontossága • A webes alkalmazások iránti érdeklődés egyre nő – Felhő – Vékony kliens • A legtöbb esetben ezek PHP alapúak • PHP alapú keretrendszerek
  3. 3. Miért nehéz választani?
  4. 4. Miért nehéz választani? • Nincsenek jó összehasonlítások – Rövidek – Nem részletesek – Többnyire a nyújtott funkciókat vetik össze – …vagy a teljesítményt
  5. 5. A kiválasztott keretrendszerek
  6. 6. Felépítés • Példaprogramok segítségével illusztrálva • A felmerülő jellemző feladatok elkészítése – CRUD – E-mail – Naplózás – Fordítás – Munkamenet – REST (webszolgáltatások) – Felhasználó kezelés • Szempontok – Telepítés – Dokumentáció – Belső felépítés – Modularizáltság – Sablonozás – Adatbázis kezelés – Űrlapok – E-mail küldés – Naplózás – Nyelvi támogatás – REST – Jogosultság- kezelés – Egyéb feladatok – Hatékonyság – Biztonság – Közösségek, támogatás
  7. 7. Fejlesztői dokumentáció, közösségi aktivitás • Codeigniter – Dokumentáció nagyon jó – Közösség és vállalati támogatás alig • Symfony – Dokumentáció nem teljes – Pezsgő közösség – Vállalati támogatás • Yii – Nehezen áttekinthető dokumentáció – Kis közösségi aktivitás • Zend Framework – Gyenge dokumentáció – Kiemelkedő vállalati támogatás
  8. 8. Belső felépítés, modularizáltság, hatékonyság • Kódméret  Szolgáltatások • Codeigniterben nincs modularizáltság • Symfony és Zend teljes mértékben komponens alapú – Composer 0 100 200 300 400 500 600 0 50000 100000 150000 200000 250000 300000 350000 400000 Codeigniter Symfony Yii Zend framework Keretrendszer mérete (kódsorok száma) Lekérdezések száma másodpercenként
  9. 9. Sablonozás • Az egyszerű: Codeigniter • A sokoldalú: Symfony • A widgetes: Yii • Az automatikus: Zend Framework Fejléc Lábléc Balpanel Jobbpanel Tartalom
  10. 10. Adatbázis kezelés • Yii kódgenerálás LegsokoldalúbbLegegyszerűbb
  11. 11. Űrlapok készítése, biztonság • Codeigniterben az űrlap és a nézet összeolvad, a validáció viszont különálló • Modellből űrlap  Yii • Űrlaposztály Symfonyban és Zendben • Biztonság: SQL befecskendezés XSS (Oldalon Keresztüli Scriptelés) CSRF (Oldalon Keresztüli Kéréshamisítás) Codeigniter    Symfony    Yii    Zend Framework   /
  12. 12. Kapcsolattartás e-mail segítségével • Codeigeniter – Hibakeresés – Nincs HTML mellé Text • Yii – Nincs beépített támogatás • Nincs sablonozás • Symfony – Kikapcsolható – Ütemezhetőség • Zend Framework – Függőség befecskendezés – Ütemezhetőség
  13. 13. Események rögzítése a naplózás segítségével • Codeigniter: rögtön használható, de nem sokoldalú • Yii: sok kimenet, furcsa hibaszintek • Symfony: testreszabható formátum • Zend: naplózás adatbázisba
  14. 14. Nyelvi támogatás Codeigniterben minden kézzel Yiiben többes szám kezelés Symfony a fájlformátumok királya Zendben mindenhez van támogatás
  15. 15. Azonosítás és jogosultságkezelés • Codeigniterben nincs beépített támogatás • Yiiben ez is generált részben • Zendben erős támogatás a keretrendszer oldaláról • Symfonyban erős támogatás a közösség oldaláról
  16. 16. Nem szokványos feladatok Codeigniter Symfony Yii Zend Framework Parancssori interfész     Egységteszt támogatás     Profilozó     FTP (FileTransfer Protocol)  ()   Képmanipulálás     Mobil felület detektálása  ()   Tömörítés     Fájlkezelés     Lapozó     Navigáció (menü, kenyérmorzsák, oldaltérkép)     Szerializálás     NoSQL adatbázis-kezelő támogatása     RSS (Rich Site Summary) /ATOM feed támogatás     PDF generálás    ()
  17. 17. Tehát melyik a legjobb keretrendszer? • Ahogy sejtettük: nincs legjobb keretrendszer • A legtöbb kategóriának van győztese • …de ez nem mindig ugyanaz! • Akkor mi a konklúzió?
  18. 18. Eredmények • A valódi kérdés: egy feladatra melyik a legjobb keretrendszer? • Kis méretű alkalmazások fejlesztéséhez? Codeigniter • Vállalati környezetben a vállalati igényekhez alkalmazkodva? Yii, Zend Framework • Ha gyorsan kell egy alkalmazást elkészíteni? Symfony
  19. 19. Köszönöm a figyelmet!

×