Zend Framework

A Wikipédiából, a szabad enciklopédiából
Zend Framework
Zend-framework.png

Fejlesztő Zend Technologies
Legfrissebb stabil
kiadás
2.2.4
(2013. augusztus 26.)
Legfrissebb fejlesztői kiadás ismeretlen +/-
Programozási nyelv PHP
Operációs rendszer Keresztplatformos
Kategória Webes keretrendszer
Licenc New BSD License
A Zend Framework weboldala

A Zend Framework egy nyílt forrású, objektumorientált webes keretrendszer, PHP 5-ben megvalósítva és a New BSD License alatt terjesztve. A Zend Framework – gyakran csak ZF – fejlesztésének célja a webfejlesztés megkönnyítése, és közben követendő gyakorlatok bevezetése a PHP közösség köreibe. A ZF igény szerint használható felépítése lehetővé teszi a fejlesztők számára, hogy újrahasznosítsák az összetevőket amikor és ahol az alkalmazásukban értelme van, anélkül, hogy egyéb ZF összetevőket követelnének a legalapvetőbb függőségeken túl. Így aztán nincs olyan fejlesztési minta, amit a használóknak követniük kell, habár a ZF kínál összetevőket a Modell-Nézet-Vezérlő és a Tábla Átjáró programtervezési mintákhoz, melyeket a legtöbb ZF alkalmazás használ. A Zend Framework önálló összetevőt nyújt sok más, webalkalmazás fejlesztésekor gyakori követelményhez, beleértve az azonosítást és a jogosultságkezelést hozzáférésvezérlő listákon keresztül, alkalmazásbeállítást, adatok gyorsítótárazását, a felhasználók által küldött adatok szűrését/ellenőrzését a biztonság és az adatok sértetlensége érdekében, nemzetköziesítést, felületeket AJAX funkciókhoz, emailek összeállításához/küldéséhez, Lucene formátumú keresőjegyzékelést és -lekérdezést, illetve az összes Google Data API-t, sok más népszerű webszolgáltatás mellett. Laza kötődésű tervezésük folytán a ZF összetevőit gyakran használják más PHP-s webes keretrendszerek összetevői mellett.[1]

Történet és filozófia[szerkesztés | forrásszöveg szerkesztése]

A Zend Framework gondolata 2005 elején született meg, amikor sok új keretrendszer, mint például a Ruby on Rails és a Spring Framework népszerűvé váltak a webfejlesztői közösségben. A ZF-et először az első Zend Conference-en jelentették be.[2] Ez időtájt nem volt széles körben elterjedt, a PHP közösség rendelkezésére álló keretrendszer, ami kielégítette volna a hasonló webfejlesztői igényeket. A Zend Framework tervezői megkísérelték egyesíteni ezen keretrendszerek könnyű használhatóságát és a gyors alkalmazásfejlesztési (rapid application development – RAD) képességeiket az egyszerűséggel, nyíltsággal és a való világbeli praktikummal, melyeket a PHP közösség nagyra értékel.[3]

A specifikus fejlesztési feladatok megvalósítása jellemzően sokkal általánosabb szoftver összetevők felhasználásával, önműködő beállításokon és/vagy kód generáláson keresztül történik. Az eddigi kiadások során a Zend Framework közösség ezen felszín alatt meghúzódó összetevők fejlesztésének teljes elvégzését és tesztelését választotta, a fejlesztési feladatok megkönnyítésén – mint az adatbázis migrációk, állványzatok (scaffolding) generálása, projektek létrehozása és beállítása – való munka megkezdése előtt. Ez a gyakorlat kritikák tárgyát is képezte, mivel sokak által mai webes keretrendszerek megjelenéséhez elengedhetetlennek érzett funkciók a Zend Framework jövőbeli kiadásaira lettek ütemezve. Sok ZF felhasználó azonban sokkal jobban felhasználhatónak és kiterjeszthetőbbnek érezte ezeket az általános jellegű összetevőket alkalmazásaik megvalósításakor. Emellett a Zend Framework keresi a lehetőséget követendő webfejlesztési gyakorlatok a PHP közösségben való alkalmazásának elősegítésére; a ZF-ben közös megállapodások ritkábban használatosak, mint sok más keretrendszerben, ehelyett az ajánlottak ésszerű alapbeállításokban jelentkeznek, melyek felülbírálhatók az egyes ZF alkalmazások követelményeinek megfelelően.

Licencelés[szerkesztés | forrásszöveg szerkesztése]

A Zend Frameworkre az Open Source Initiative (OSI) által jóváhagyott New BSD License feltételei vonatkoznak, és minden közreműködőnek alá kell írnia egy az Apache Software Foundation CLA-ján alapuló Közreműködői Licenc Megállapodást (Contributor License Agreement). A licenc és közreműködés szabályai annak érdekében lettek megállapítva, hogy elkerüljék a ZF kereskedelmi felhasználóira irányuló intellektuális tulajdonnal kapcsolatos pereket.[1]

Támogatók és partnerek[szerkesztés | forrásszöveg szerkesztése]

A PHP mag közreműködői, Andi Gutmans és Zeev Suraski által közösen alapított Zend Technologies a Zend Framework vállalati támogatója. A technológiai partnerek közé tartozik az IBM, a Google, a Microsoft és a StrikeIron.

Követelmények[szerkesztés | forrásszöveg szerkesztése]

A Zend Frameworknek PHP 5.1.4-re vagy ennél újabbra van szüksége, habár a ZF Programozók kézikönyve erősen ajánlja a PHP 5.2.3-at vagy későbbit az ezekben a PHP kiadásokban található biztonsági és teljesítmény javítások okán. PHPUnit 3.0 szükséges a Zend Frameworkkel érkező egységtesztek futtatásához. Sok összetevő PHP kiterjesztéseket is igényel; az összetevők felsorolása és függőségeik megtalálhatók a Programozók kézikönyvében.

Kiadások[szerkesztés | forrásszöveg szerkesztése]

A Zend Framework kiadásai három számmal vannak ellátva x.y.z formában, ahol a változások az x-ben, y-ban vagy z-ben a nagy, kis és apró kiadásokat jelölik, ebben a sorrendben. A ZF első végleges kiadása 2007. június 30-án jelent meg, Zend Framework 1.0 néven. A legutóbbi kiadás az 1.11.2, amely 2010. december 30-án vált letölthetővé.

Tulajdonságok[szerkesztés | forrásszöveg szerkesztése]

  • Minden összetevő teljes mértékben objektumorientált PHP 5 és E_STRICT-nek megfelelő.
  • Igény szerint használható felépítés lazán kapcsolódó összetevőkkel és a lehető legkevesebb belső függőséggel.
  • Bővíthető MNV megvalósítás, elrendezések (layout) és PHP alapú sablonok támogatásával.
  • Rugalmas Tábla Átjáró megvalósítás relációs adatbázisokban tárolt adatok objektumorientált környezetben való eléréséhez.
  • Különböző adatbázisrendszerek és gyártók támogatása, beleértve a MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite és Informix Dynamic Server adatbázisokat.
  • Azonosítás és hozzáférésvezérlő listán alapuló jogosultságkezelés többféle háttér rendszerrel.
  • Adatszűrés és -ellenőrzés a megnövelt alkalmazásbiztonságért.
  • Munkamenetkezelés.
  • Beállító összetevő a beállítások következetes kezeléséért a Zend Frameworkön és ZF alkalmazásokon belül.
  • Emailek összeállítása és küldése.
  • A Lucene jegyzékállomány formátumot támogató jegyzékelés és keresés.
  • Nemzetköziesítés és helyhezkötés.
  • Űrlapok létrehozása PHP, konfigurációs állományok vagy XML segítségével.
  • Identity 2.0 technológiák, mint a Microsoft InfoCard és az OpenID.
  • Különböző formátumok a webszolgáltatások részére, beleértve az XML-RPC, a REST és a Google GData.
  • Rugalmas gyorstárazó alrendszer különféle hátterek támogatásával, mint memória vagy állományrendszer.
  • A log4j által ihletett, egyszerű naplózó összetevő.
  • Sima PHP összetevő PDF dokumentumok olvasására, szerkesztésére és létrehozására.
  • PHP adatszerkezetek sorosítása JSON-ból és JSON-ná az AJAX fejlesztés megkönnyítésére.
  • API RSS és Atom folyamok feldolgozására.
  • Azonnal használható ügyfélkönyvtárak mindenféle webszolgáltatáshoz, köztük az Amazon E-Commerce Service, az Akismet, a del.ici.us, a Flickr, a StrikeIron, a Yahoo, az Audiscrobbler és a Simpy.

Kódolási, dokumentációs és próba szabályok[szerkesztés | forrásszöveg szerkesztése]

A Zend Frameworkhöz való hozzájárulások kemény kódolási, dokumentációs és próba szabályok tárgyát képezik. Minden kódnak meg kell felelnie a kódolási szabályoknak és az egységteszteknak 80%-os kódlefedettséget kell elérniük, mielőtt a szóban forgó kód a megjelenési ágba kerülhet.[4]

A Zend Frameworköt használó szervezetek[szerkesztés | forrásszöveg szerkesztése]

A Zend Frameworköt használó szervezetek között megtalálhatóak:

  • Berlin Museums
  • Digital Sublimity
  • Eurotransplant
  • GNU/Linux Matters a Poliglotahoz.
  • IBM
  • Marseille városának iskolai rendszere
  • Nokia
  • Right Media
  • Magento

Hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]