Kohana
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] :
- Elágazás 3.1.x . A legújabb stabil verzió a 3.1.5 (a támogatás vége).
- Elágazás 3.2.x . A legújabb stabil verzió a 3.2.2. (a támogatás megszűnt).
- Elágazás 3.3.x . Új fejlesztésű alkalmazásokhoz ajánlott [11] . A jelenlegi stabil verzió a 3.3.0. Hivatalos támogatás 2013 novemberéig. Ebben az ágban folytatódik a kérés-válasz mechanizmus (Request / Response) feldolgozása, különös tekintettel a HMVC kérésekre, az útválasztás módosítására (szűrők, lásd #4388 (eng.) )
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
- ↑ Ki készíti a Kohanát? Az eredetiből archiválva : 2010. szeptember 23. (Angol)
- ↑ Kohana letöltési oldal Archiválva : 2016. február 10. a Wayback Machine -nél
- ↑ áttekintés [Kohana User Guide] Archivált : 2008. október 2.
- ↑ Modern PHP keretrendszerek - teljes ranglista . Letöltve: 2022. május 11. Az eredetiből archiválva : 2022. február 25. (határozatlan)
- ↑ Kohana villa a CodeIgnitertől (angol) (lefelé mutató link) . PHP devReview() (2007. június 19.). Az eredetiből archiválva: 2012. március 12.
- ↑ CodeIgniter fórum archiválva : 2010. március 25. , 2007. június
- ↑ 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])
- ↑ 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.. (határozatlan)
- ↑ Projekttár a Githubon . Letöltve: 2015. augusztus 13. Az eredetiből archiválva : 2015. február 24.. (határozatlan)
- ↑ koseven: Koseven egy PHP7-tel kompatibilis Kohana villa . — 2017-11-28. Archiválva az eredetiből 2019. június 9-én.
- ↑ 12 kohana /kohana . GitHub. Letöltve: 2016. augusztus 16. Az eredetiből archiválva : 2016. október 4.. (határozatlan)
- ↑ Kohana 3.x vs 2.x Az eredetiből archiválva 2012. február 1-én.
- ↑ KO3: HMVC és útválasztás . Letöltve: 2016. szeptember 30. Az eredetiből archiválva : 2016. augusztus 7.. (határozatlan)
- ↑ Egyszerű HMVC widget készítése Kohana3-ban . Letöltve: 2010. február 2. Az eredetiből archiválva : 2010. december 5.. (határozatlan)
- ↑ 1 2 BlueFlame 1.0 Megjelent! | CodeIgniter fórumok archiválva : 2009. március 23.
- ↑ 1 2 3 4 változásnapló [Kohana User Guide] Archivált : 2009. november 9.
- ↑ changelog:2.1 [Kohana User Guide] Archiválva : 2009. július 2.
- ↑ changelog:2.1.1 [Kohana User Guide] Archivált : 2009. július 2.
- ↑ changelog:2.1.2 [Kohana User Guide] Archivált : 2009. május 31.
- ↑ changelog:2.2 [Kohana User Guide] Archivált : 2009. június 20.
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ [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]]
- ↑ 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]]
- ↑ 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]]
- ^ 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]]
- ↑ [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]]
- ↑ 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]]
- ↑ [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]]
- ↑ [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