Kohana

Kohana
Típusú Keretrendszer webes alkalmazások készítéséhez
Fejlesztő Kohana csapat [1]
Beírva PHP
Operációs rendszer Cross platform
legújabb verzió 3.3.6 [2] (2016. július 25.)
Engedély BSD
Weboldal kohanaframework.org

A Kohana (korábban Blue Flame )  egy nyílt forráskódú PHP5 webes keretrendszer , amely a HMVC (Hierarchical Model View Controller) építészeti modellt használja. Célja, hogy biztonságos, könnyű és könnyen használható legyen [3] .

A PHP Inside webfejlesztői magazin elismerte, hogy Kohana a " szerkesztő választása... az építészet, a sebesség és a közösség szempontjából " [4]

Történelem

A Kohana projekt a CodeIgniter PHP keretrendszer elágazásaként jött létre Blue Flame néven [5] . Az elágazás fő oka a nyilvánosság számára nyitottabb fejlesztési modellre való áttérés volt, mivel sok felhasználó elégedetlen volt a CodeIgniter fejlesztési sebességével és a hibajavításokkal. Rick Ellis  – a CodeIgniter megalkotója és tulajdonosa – örült, hogy meglátta a projektjét, de nem volt hajlandó segíteni; arra ösztönözte az új projektet, hogy készítsen saját dokumentációt, és javasolta a projekt átnevezését. [6] 2007 júliusában a Blue Flame nevet Kohana névre keresztelték a jövőbeni szerzői jogi problémák elkerülése érdekében [7] .

A Kohana nevet akkor választották, amikor a fejlesztők indián szótárakat kezdtek nézegetni, hogy olyan szót válasszanak ki, amely nem sérti a szerzői jogokat. Kohana jelentése " gyors " a sziú nyelvben .

2014 áprilisában a shadowhand fő fejlesztője kijelentette [8] , hogy a projekt fejlesztése befejeződött, de a keretrendszert továbbra is fejleszti és támogatja a közösség [9] , és a frissítések továbbra is megjelennek a hivatalos weboldalon.

2017. február 4-én a projekt lezárult, a fő fejlesztő "shadowhand" ezt a "Kohana is DEAD" kifejezéssel jelentette be az oldalon.

A projekt lezárása után a közösség tagjai különféle migrációs keretrendszeri lehetőségeket fontolgattak, és mint kiderült, minden migráció nagyon nehéz lesz. Ezért a közösség tagjai létrehozták a projekt villát, amely a Koseven nevet kapta. A Koseven helyettesítheti a Kohana motort olyan projektekben, amelyek még mindig használják. A projekt fő célja a hibák kijavítása és a PHP új verzióinak támogatása, ugyanakkor javasolt új funkciókkal bővíteni a bővítményeket. [tíz]

Jellemzők

Technológia

Verziók

Fejlesztési ágak

Jelenleg három ágat fejlesztenek párhuzamosan [11] :

A verziók közötti különbségek

A Kohana és a CodeIgniter közötti különbség
  • Szigorú PHP5 OOP . Számos előnnyel jár: láthatóságvédelem, automatikus osztálybetöltés, tulajdonságok és metódusok túlterhelése, interfészek, absztrakt osztályok és az egyszemélyes minta használata.
  • Kohana csatlakozott a GoPHP5 kezdeményezéshez . Minden 2.2 utáni kiadás követni fogja ezeket a szabályokat.
  • Mentettük a CodeIgniter stílust . Bárki, aki használta a CodeIgnitert, gyorsan megérti a Kohana szerkezetét.
  • A közösség irányítja, nem a cég. A Kohanát a közösségi megbeszélések, ötletek és kód vezérlik. A Kohana fejlesztők a világ minden tájáról érkeznek, mindegyiknek megvan a maga tehetsége. Ez gyorsabb és agilisabb fejlesztési ciklust tesz lehetővé, amelyben napok vagy hónapok helyett órákat vesz igénybe a problémák megválaszolása.
  • A GET, POST, COOKIE és SESSION tömbök a várt módon működnek. A Kohana nem korlátozza a globális változókhoz való hozzáférést, de ugyanazt a szűrést és XSS védelmet nyújtja, mint a CodeIgniter.
  • Lépcsőzetes erőforrások, modulok és öröklődés. A vezérlők, modellek, könyvtárak, segédprogramok és nézetek a rendszer, az alkalmazás vagy a modul bárhonnan betölthetők. A konfigurációs beállítások öröklődnek, és az egyes alkalmazások dinamikusan felülírhatják őket.
  • Nincsenek névtér ütközések. Az osztályutótagokat, például a „_Controller”-t a névtér-ütközések megelőzésére használják. Ez lehetővé teszi az egyéni vezérlők és modellek egyidejű betöltését.
  • Valódi osztályú automatikus betöltés. Érvényes könyvtárakra, vezérlőkre, modellekre és segédprogramokra. Ez nem előtöltés, hanem az osztályok valódi dinamikus betöltése azok inicializálása során.
  • A segítők statikus osztályok, nem függvények. Például a "form_open()" helyett használhatja a "form::open()" kifejezést.
  • Könyvtári illesztőprogramok és API -k összekapcsolhatósága .
  • Erőteljes eseménykezelő. A Kohanában az események dinamikusan hozzáadhatók, lecserélhetők vagy akár eltávolíthatók. Ez lehetővé teszi a Kohana működésének jelentős módosításait a meglévő rendszerkód módosítása nélkül.
A különbség a Kohana 3 és a Kohana 2.x között

A Kohana keretrendszer 2.x és 3. verzióját [12] különböző keretrendszernek kell tekinteni. A fő különbségek a 3. és a 2.x verzió között a következők:

  • A fájlrendszer felépítése megváltozott. Minden osztály az osztálykönyvtárhoz van hozzárendelve a modell és a vezérlő alkönyvtáraival a modellek és a vezérlők számára. A Kohana 3.x könyvtárai és segítői egyben vannak, és lényegében ugyanazok most.
  • Egységes osztályelnevezési konvenció. Bármely osztály nevének meg kell egyeznie azzal a könyvtárral, amelyben az osztály fájlja található (például a Model_Foo_Bar osztálynak a classes\model\foo\bar.php fájlban kell lennie ).
  • Az alapvető funkciók egy része külön modulokba kerül (például adatbázis, ORM), amelyek letilthatók.
  • Több szabályozás a keretrendszer betöltése előtt lefutó kód felett. Ebben a tekintetben az eseményeket (Events) és a horgokat (Hook) eltávolították a keret magjából.
  • Új útválasztó mechanizmus.
  • Jelentős változások az adatbázis és az ORM rétegekben.
  • Bármely vezérlőt elindíthat, és kimenetét nem csak HTTP -n keresztül kaphatja meg , hanem közvetlenül a kódból (az útvonal megadásával), a HTTP protokollt megkerülve. Ez lehetővé teszi a generált tartalom független blokkjainak külön vezérlőkbe való áthelyezését, valamint leegyszerűsíti a kliens-szerver interakciót az AJAX -ban [13] [14] .
A Kohana 3.1 és a Kohana 3.0 közötti különbségek

A 3.1.x ágban a Request objektum külön Request és Response osztályokra lett osztva . Ezenkívül az érvényesítés most is fel van osztva a Validation (az érvényesítés folyamatának kezelése) és a Valid (szabványos statikus szabályok halmaza, hasonlóan a Kohana 2.3.4 Valid osztályához) osztályok között. A főbb változásokról bővebben a hivatalos dokumentációban olvashat  (eng.) .

A Kohana 3.2 és a Kohana 3.1 közötti különbségek

A fő változás a 3.2.x ágban a konfigurációs fájlokkal való munkavégzés mechanizmusának átdolgozása volt. Megjelent a Kohana_Config_Reader és Kohana_Config_Writer osztály , amely lehetővé teszi, hogy ezek alapján saját illesztőprogramokat implementáljon, hogy különféle adatforrásokkal (fájlok, DBMS stb.) dolgozzon. Ezenkívül a 3.1.x-ben bevezetett HTTP -gyorsítótárazás átkerült a Request osztályból a Cache modul külön HTTP_Cache osztályába .

A Kohana 3.3 és a Kohana 3.2 közötti különbségek

A 3.3.x ágban döntés született a PSR-0 szabványra való átállásról  (eng.) . Emiatt minden könyvtár- és osztályfájlnévnek nagybetűvel kell kezdődnie. Ezenkívül számos változtatás történt a HMVC kérések elkülönítésének növelése, a lekérdezés végrehajtási hibáinak kezelése stb. érdekében. Egy új Minion modul került hozzáadásra a Cron feladatok végrehajtásához.

Verzióelőzmények

Szín Leírás
Piros Régi verzió; Nem támogatott
Sárga Régi verzió; továbbra is támogatott
Zöld Jelenlegi verzió
Kék Tervezett változat
Név Változat kód név Felforgatás Kiadási dátum Jelentős változások
kék láng 1.0 1.0 2007. 05. 31. [15]
Kohana 2.0 Superlime 2.0 2007-11-08 [16]
  • A kód teljesen át van írva, nincs régi örökölt kód [7] [16]
  • Nem kompatibilis a PHP4-gyel, a PHP5-öt célozva [7]
  • Teljesen objektum-orientált szoftver keretrendszer [7]
  • A szállítás modulokat tartalmaz [7]
  • A lépcsőzetes erőforrások fogalma [7]
2.1 Schneefeier 2.1.0 2008-02-05 [16]
  • Új könyvtárak: gyorsítótár , kép , ORM , fizetés
  • Új segítők: num , expires , email , html::link() , html::breadcrumb() , arr::binary_search() , valid::standard_text() , text::widont() ;
  • Új modulok: Auth & Forge ; PostgreSQL és MySQLi illesztőprogramok
  • gzip kimenet tömörítés, hibajavítások és API -módosítások [17]
2.1.1 2008-02-06 [16]
  • A segédbővítmény hibája javítva
  • Hozzáadott angol (Egyesült Királyság), német és macedón nyelvek [18]
2.1.2 2008-06-10
  • Hozzáadott KOHANA_IS_WIN konstans , amely a Windows platformon való működést jelzi
  • Számos hibajavítás [19]
2.2 Ephimera 2.2.0 2008-08-08
  • Új könyvtárak ( Captcha )
  • Új segítők ( feltöltés , formázás stb.)
  • Új konfigurációs attribútumok,
  • Új illesztőprogramok (MSSQL, PayPal Pro)
  • Kódtisztítás, optimalizálás és hibajavítások [20]
2.3 Kernachtig 2.3.0 2008-12-20
  • Új router
  • Új adatbázis-könyvtár (object_db)
2.3.1 2009
2.3.2 2009
Aegolius 2.3.3 2009-05-31
Buteo Regalis 2.3.4 2009-06-05
2.4 - 2.4-RC1 2009. 11. 19. [21]

A 2.3-as ág logikus folytatásaként tervezték, de a 3.0-s verzió megjelenése miatt nem hozták stabil kiadásra.

3.0 reneszánsz 3.0.0 2009-09-17 [22]
  • A kód teljesen át lett írva. Nem kompatibilis a 2.x-hez írt alkalmazásokkal
  • Az építészet a HMVC tervezési mintáját követi
  • Új alapfunkciók hozzáadva
  • Az összes segítő és könyvtár osztály az osztályok mappában (nincs segítő/könyvtár könyvtár)
3.0.1 2009. 10. 16. [23]
3.0.2 2009. 11. 21. [24]
3.0.3 2009. 11. 23. [25]
wyau cwningen 3.0.4 2010-04-04 [26]
3.0.5 2010-05-25 [27]
sumar hiti 3.0.6 2010-06-07 [28]
mesterhármas 3.0.7 2010-07-11 [29]
großen jäger 3.0.8 2010-09-22 [30]
nya aret 3.0.9 2010. 12. 30. [31]
Hierofalco 3.0.10 2011-03-13 [32]
vespertinus 3.0.11 2011-05-02 [33]
cuvierii 3.0.12 2011. 07. 24. [34]
3.1 merle 3.1.0 2011-02-07 [35]
  • Továbbfejlesztett kérés / válasz
  • Az érvényesítéshez hozzáadott összefüggések
  • Lapozási modul eltávolítva
aesalon 3.1.1 2011-02-16
Hirondelle 3.1.2 2011-04-14 [32]
araea 3.1.3 2011-05-02 [33]
fasciinucha 3.1.4 2011. 07. 24. [34]
biarmicus 3.1.5 2012-08-31 [36]
3.2 Kolibri 3.2.0 2011. 07. 24. [34]
  • A kérés / válasz mechanizmus további finomítása
  • A konfigurációs fájlokkal való munka elve megváltozott (a Kohana_Config_Reader és Kohana_Config_Writer osztályokon alapuló illesztőprogramok )
Milvago 3.2.1 2012-08-27 [36]
hypoleucos 3.2.2 2012-08-31 [37]
3.3 badius 3.3.0 2012. 10. 23. [38]
  • Áttérés a PSR-0 szabványra
  • A HMVC kérések elkülönítésének növelése ( Request )
  • Kényelmesebb kivételkezelő rendszer
  • Hozzáadott Minion modul és phpunit modul

Jegyzetek

  1. Ki készíti a Kohanát? Az eredetiből archiválva : 2010. szeptember 23.  (Angol)
  2. Kohana letöltési oldal Archiválva : 2016. február 10. a Wayback Machine -nél 
  3. áttekintés [Kohana User Guide] Archivált : 2008. október 2.
  4. Modern PHP keretrendszerek - teljes ranglista . Letöltve: 2022. május 11. Az eredetiből archiválva : 2022. február 25.
  5. Kohana villa a CodeIgnitertől  (angol)  (lefelé mutató link) . PHP devReview() (2007. június 19.). Az eredetiből archiválva: 2012. március 12.
  6. CodeIgniter fórum archiválva : 2010. március 25. , 2007. június
  7. 1 2 3 4 5 6 Kohana felhasználói útmutató Archiválva : 2009. november 21.  (lefelé mutató link 2016. 03. 16. óta [2422 nap])
  8. A Kohana / Beginning of Ohanzee utolsó kiadásai (a link nem érhető el) . Letöltve: 2014. szeptember 11. Az eredetiből archiválva : 2014. szeptember 11.. 
  9. Projekttár a Githubon . Letöltve: 2015. augusztus 13. Az eredetiből archiválva : 2015. február 24..
  10. koseven: Koseven egy PHP7-tel kompatibilis Kohana villa . — 2017-11-28. Archiválva az eredetiből 2019. június 9-én.
  11. 12 kohana /kohana . GitHub. Letöltve: 2016. augusztus 16. Az eredetiből archiválva : 2016. október 4..
  12. Kohana 3.x vs 2.x Az eredetiből archiválva 2012. február 1-én.
  13. KO3: HMVC és útválasztás . Letöltve: 2016. szeptember 30. Az eredetiből archiválva : 2016. augusztus 7..
  14. Egyszerű HMVC widget készítése Kohana3-ban . Letöltve: 2010. február 2. Az eredetiből archiválva : 2010. december 5..
  15. 1 2 BlueFlame 1.0 Megjelent! | CodeIgniter fórumok archiválva : 2009. március 23.
  16. 1 2 3 4 változásnapló [Kohana User Guide] Archivált : 2009. november 9.
  17. changelog:2.1 [Kohana User Guide] Archiválva : 2009. július 2.
  18. changelog:2.1.1 [Kohana User Guide] Archivált : 2009. július 2.
  19. changelog:2.1.2 [Kohana User Guide] Archivált : 2009. május 31.
  20. changelog:2.2 [Kohana User Guide] Archivált : 2009. június 20.
  21. [https://web.archive.org/web/20130328112449/http://forum.kohanaframework.org/discussion/4014/2-4-release-candidate-1-released Archiválva : 2013. március 28. a Wayback Machine -nél 2.4 Megjelent az 1. kiadásjelölt [Kohana Forums]]
  22. [https://web.archive.org/web/20130328161906/http://forum.kohanaframework.org/discussion/3479/kohana-v3-0-released Archiválva : 2013. március 28. a Wayback Machine Kohana v3.0 -nál Megjelent! [Kohana fórumok]]
  23. [https://web.archive.org/web/20130328143112/http://forum.kohanaframework.org/discussion/3787/kohana-v3-0-1-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.1 Megjelent! [Kohana fórumok]]
  24. [https://web.archive.org/web/20130328035101/http://forum.kohanaframework.org/discussion/4119/kohana-v3-0-2-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.2 Megjelent! [Kohana fórumok]]
  25. [https://web.archive.org/web/20130328132052/http://forum.kohanaframework.org/discussion/4144/kohana-v3-0-3-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.3 Megjelent! [Kohana fórumok]]
  26. [https://web.archive.org/web/20130328032053/http://forum.kohanaframework.org/discussion/5299/kohana-v3-0-4-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.4 Megjelent! [Kohana fórumok]]
  27. [https://web.archive.org/web/20130328024956/http://forum.kohanaframework.org/discussion/5821/kohana-v3-0-5-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.5 Megjelent! [Kohana fórumok]]
  28. [https://web.archive.org/web/20130328153354/http://forum.kohanaframework.org/discussion/5937/kohana-v3-0-6-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.6 Megjelent! [Kohana fórumok]]
  29. [https://web.archive.org/web/20130328163300/http://forum.kohanaframework.org/discussion/6209/kohana-v3-0-7-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.7 Megjelent! [Kohana fórumok]]
  30. [https://web.archive.org/web/20130328142923/http://forum.kohanaframework.org/discussion/6867/kohana-v3-0-8-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.8 Megjelent! [Kohana fórumok]]
  31. [https://web.archive.org/web/20130328115434/http://forum.kohanaframework.org/discussion/7699/kohana-v3-0-9-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .0.9 Megjelent! [Kohana fórumok]]
  32. 1 2 [https://web.archive.org/web/20130328120526/http://forum.kohanaframework.org/discussion/8418/kohana-3-1-2-kohana-3-0-10-released Archivált 2013. március 28-án kelt példány a Wayback Machine Kohana 3.1.2 és Kohana 3.0.10 verzióján Megjelent! [Kohana fórumok]]
  33. 1 2 [https://web.archive.org/web/20121127172241/http://forum.kohanaframework.org/discussion/8886/kohana-3-1-3-kohana-3-0-11-released Archivált 2012. november 27-én kelt példány a Wayback Machine Kohana 3.1.3 és Kohana 3.0.11 verziójában Megjelent! [Kohana fórumok]]
  34. ^ 1 2 3 [https://web.archive.org/web/20121127172115/http://forum.kohanaframework.org/discussion/9380/kohana-3-2-0-3-1-4-3-0 -12-released Archiválva : 2012. november 27. a Wayback Machine Kohana 3.2.0, 3.1.4, 3.0.12 verziójában Megjelent! [Kohana fórumok]]
  35. [https://web.archive.org/web/20130328024431/http://forum.kohanaframework.org/discussion/8024/kohana-v3-1-0-released Archiválva 2013. március 28-án a Wayback Machine Kohana v3 -nál .1.0 Megjelent! [Kohana fórumok]]
  36. 1 2 [https://web.archive.org/web/20120830041617/http://forum.kohanaframework.org/discussion/11041/kohana-v3-2-1-and-3-1-5-released Archivált 2012. augusztus 30-án kelt példány a Wayback Machine Kohana v3.2.1 (és 3.1.5) verzióján! [Kohana fórumok]]
  37. [https://web.archive.org/web/20120923153856/http://forum.kohanaframework.org/discussion/11050/kohana-v3-2-2-released Archiválva 2012. szeptember 23-án a Wayback Machine Kohana v3 -nál .2.2 Megjelent! [Kohana fórumok]]
  38. [https://web.archive.org/web/20121026010735/http://forum.kohanaframework.org/discussion/11191/kohana-3-3-0-released Archiválva : 2012. október 26. a Wayback Machine Kohana 3.3 -nál .0 Megjelent! [Kohana fórumok]]

Linkek