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

Preview:

DESCRIPTION

PHP alapú keretrendszerek összehasonlítása. A diplomamunka védésen vetített diasor. Keretrendszerek: Zend Framework, Symfony, Yii, Codeigniter http://phpframeworks.rutkai.hu/

Citation preview

PHP alapú keretrendszerek összehasonlításaKészítette: Rutkai András

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

Miért nehéz választani?

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

A kiválasztott keretrendszerek

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

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

Belső felépítés, modularizáltság, hatékonyság

• Kódméret Szolgáltatások

• Codeigniterben nincs modularizáltság

• Symfony ésZend teljesmértékbenkomponensalapú

– 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

Sablonozás

• Az egyszerű:Codeigniter

• A sokoldalú:Symfony

• A widgetes:Yii

• Az automatikus:Zend Framework

Fejléc

LáblécB

al p

an

el

Jo

bb

pa

ne

l

Tartalom

Adatbázis kezelés

• Yii kódgenerálás

LegsokoldalúbbLegegyszerűbb

Ű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ésXSS (Oldalon Keresztüli

Scriptelés)CSRF (Oldalon Keresztüli

Kéréshamisítás)

Codeigniter

Symfony

Yii

Zend Framework /

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

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

Nyelvi támogatás

Codeigniterbenminden kézzel

Yiiben többes szám kezelés

Symfony a fájlformátumok királya

Zendben mindenhez van támogatás

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

Nem szokványos feladatok

Codeigniter Symfony YiiZend

Framework

Parancssori interfész

Egységteszt támogatás

Profilozó

FTP (File Transfer 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 ()

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ó?

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

Köszönöm a figyelmet!

Recommended