Kohana

Kohana
Typ Framework pro tvorbu webových aplikací
Vývojář Kohana tým [1]
Zapsáno v PHP
Operační systém Křížová platforma
Nejnovější verze 3.3.6 [2] (25. července 2016)
Licence BSD
webová stránka kohanaframework.org

Kohana (dříve Blue Flame )  je open source webový framework PHP5 , který využívá architektonický model HMVC (Hierarchical Model View Controller). Jeho cílem je být bezpečný, lehký a snadno použitelný [3] .

Časopis pro webové vývojáře PHP Inside uznal Kohana jako „Volbu editora... pro architekturu, rychlost a komunitu “ [4]

Historie

Projekt Kohana vznikl jako fork PHP frameworku CodeIgniter pod názvem Blue Flame [5] . Hlavním důvodem forku byl přechod na otevřenější model vývoje pro veřejnost, protože mnoho uživatelů nebylo spokojeno s rychlostí vývoje a opravami chyb v CodeIgniter. Rick Ellis  - tvůrce a majitel CodeIgniter - byl rád, že viděl rozvětvení svého projektu, ale odmítl pomoci; prosadil nový projekt k vytvoření vlastní dokumentace a navrhl přejmenování projektu. [6] V červenci 2007 byl Blue Flame přejmenován na Kohana, aby se předešlo budoucím problémům s autorskými právy [7] .

Jméno Kohana bylo vybráno, když vývojáři začali prohledávat indiánské slovníky, aby vybrali slovo, které by neporušovalo autorská práva. Kohana znamená v siouxském jazyce " rychlý " .

V dubnu 2014 hlavní vývojář shadowhand uvedl [8] , že vývoj projektu je dokončen, ale framework je nadále vyvíjen a podporován komunitou [9] a aktualizace jsou nadále vydávány na oficiálních stránkách.

4. února 2017 byl projekt uzavřen, hlavní vývojář „shadowhand“ to oznámil na webu frází „Kohana is DEAD“.

Po uzavření projektu členové komunity zvažovali různé možnosti migračních rámců, a jak se ukázalo, jakákoli migrace by byla velmi obtížná. Členové komunity proto vytvořili fork projektu, který dostal název Koseven. Koseven může fungovat jako náhrada za motor Kohana v projektech, které jej stále používají. Hlavním cílem projektu je oprava chyb a podpora nových verzí PHP, přičemž se doporučuje přidávat nové funkce prostřednictvím rozšíření. [deset]

Funkce

Technologie

Verze

Vývojové obory

V současné době se paralelně vyvíjejí tři větve [11] :

Rozdíly mezi verzemi

Rozdíl mezi Kohanou a CodeIgniter
  • Přísné PHP5 OOP . Předpokládá mnoho výhod: ochranu viditelnosti, automatické načítání tříd, přetěžování vlastností a metod, rozhraní, abstraktní třídy a použití vzoru singleton .
  • Kohana se připojila k iniciativě GoPHP5 . Všechna vydání po 2.2 se budou řídit těmito pravidly.
  • Uložen styl CodeIgniter . Každý, kdo používal CodeIgniter, rychle pochopí strukturu Kohana.
  • Řídí komunita, ne společnost. Kohana je poháněna komunitními diskuzemi, nápady a kódem. Vývojáři Kohana jsou z celého světa, každý má svůj vlastní talent. To umožňuje rychlejší a agilnější vývojový cyklus, ve kterém trvá reakce na problémy hodiny namísto dnů nebo měsíců.
  • Pole GET, POST, COOKIE a SESSION fungují podle očekávání. Kohana neomezuje přístup ke globálním proměnným, ale poskytuje stejné filtrování a XSS ochranu jako CodeIgniter.
  • Kaskádové zdroje, moduly a dědičnost. Ovladače, modely, knihovny, pomocníky a pohledy lze načíst odkudkoli ve vašem systému, aplikaci nebo modulu. Možnosti konfigurace jsou zděděny a mohou být dynamicky přepsány každou aplikací.
  • Nejsou žádné konflikty jmenného prostoru. Přípony třídy jako "_Controller" se používají k zabránění konfliktům jmenného prostoru. To umožňuje načítání vlastních ovladačů a modelů současně.
  • Automatické načítání skutečné třídy. Platí pro knihovny, ovladače, modely a pomocníky. Nejedná se o přednačítání, ale o skutečné dynamické načítání tříd při jejich inicializaci.
  • Pomocníci jsou statické třídy, nikoli funkce. Například místo použití "form_open()" můžete použít "form::open()".
  • Konektivita ovladačů knihoven a API .
  • Výkonná obsluha událostí. V Kohaně lze události dynamicky přidávat, nahrazovat nebo dokonce odstraňovat. To umožňuje provést významné změny ve způsobu, jakým Kohana funguje, aniž by bylo nutné upravovat stávající systémový kód.
Rozdíl mezi Kohanou 3 a Kohanou 2.x

Verze 2.xa 3 rámce Kohana by měly být považovány [12] za různé rámce. Hlavní rozdíly mezi verzí 3 a 2.x jsou:

  • Organizace souborového systému byla změněna. Všechny třídy jsou přiděleny do adresáře tříd s podadresáři modelu a kontroleru pro modely a ovladače. Knihovny a pomocníci v Kohana 3.x jsou drženi pohromadě a jsou nyní v podstatě stejné.
  • Jednotná konvence pojmenování tříd. Název libovolné třídy se musí shodovat s adresářem, ve kterém je umístěn soubor této třídy (například třída Model_Foo_Bar musí být umístěna v souboru class\model\foo\bar.php ).
  • Část základní funkčnosti je přesunuta do samostatných modulů (například Databáze, ORM), které lze deaktivovat.
  • Více kontroly nad kódem, který běží před načtením frameworku. V tomto ohledu byly z jádra rámce odstraněny události (Events) a háčky (Hooks).
  • Nový směrovací mechanismus.
  • Významné změny ve vrstvách databáze a ORM.
  • Můžete spustit jakýkoli řadič a získat jeho výstup nejen přes HTTP , ale také přímo z kódu (zadáním cesty), čímž se obejde protokol HTTP. To umožňuje přesouvat nezávislé bloky generovaného obsahu do samostatných řadičů a také zjednodušuje interakci klient-server v AJAX [13] [14] .
Rozdíly mezi Kohanou 3.1 a Kohanou 3.0

Ve větvi 3.1.x byl objekt Request rozdělen do samostatných tříd Request a Response . Navíc je nyní validace také rozdělena mezi třídy Validation (správa průběhu validace) a Valid (sada standardních statických pravidel, podobná třídě Valid v Kohana 2.3.4). Více o hlavních změnách si můžete přečíst v oficiální dokumentaci  (angl.) .

Rozdíly mezi Kohanou 3.2 a Kohanou 3.1

Hlavní změnou ve větvi 3.2.x bylo přepracování mechanismu pro práci s konfiguračními soubory. Objevily se třídy Kohana_Config_Reader a Kohana_Config_Writer , které vám na jejich základě umožňují implementovat vlastní ovladače pro práci s různými zdroji dat (soubory, DBMS atd.). Kromě toho bylo ukládání do mezipaměti HTTP zavedené v 3.1.x přesunuto z třídy Request do samostatné třídy HTTP_Cache modulu Cache .

Rozdíly mezi Kohanou 3.3 a Kohanou 3.2

Ve větvi 3.3.x bylo rozhodnuto přejít na standard PSR-0  (angl.) . Z tohoto důvodu musí všechny názvy souborů adresářů a tříd začínat velkým písmenem. Kromě toho byla provedena řada změn pro zvýšení izolace požadavků HMVC , zpracování chyb při provádění dotazu atd. Byl přidán nový modul Minion pro provádění úloh Cronu .

Historie verzí

Barva Popis
Červené Stará verze; není podporováno
Žlutá Stará verze; stále podporováno
Zelená Současná verze
Modrý Plánovaná verze
název Verze krycí jméno Podvracení Datum vydání Významné změny
modrý plamen 1,0 1,0 2007-05-31 [15]
Kohana 2,0 Superlime 2,0 2007-11-08 [16]
  • Kód je kompletně přepsán, žádný starý starší kód [7] [16]
  • Zastavena kompatibilita s PHP4, cílení na PHP5 [7]
  • Plně objektově orientovaný softwarový rámec [7]
  • Dodávka obsahuje moduly [7]
  • Koncept kaskádových zdrojů [7]
2.1 Schneefeier 2.1.0 2008-02-05 [16]
  • Nové knihovny: Cache , Obrázek , ORM , Platba
  • Noví pomocníci: num , expires , email , html::link() , html::breadcrumb() , arr::binary_search() , valid::standard_text() , text::widont() ;
  • Nové moduly: Auth & Forge ; PostgreSQL a MySQLi ovladače
  • Komprese výstupu gzip, opravy chyb a změny API [17]
2.1.1 2008-02-06 [16]
  • Opravena chyba rozšíření pomocníka
  • Přidána angličtina (UK), němčina a makedonština ​​[18]
2.1.2 2008-06-10
  • Přidána konstanta KOHANA_IS_WIN , která signalizuje práci na platformě Windows
  • Četné opravy chyb [19]
2.2 Ephimera 2.2.0 2008-08-08
  • Nové knihovny ( captcha )
  • Noví pomocníci ( nahrání , formát atd.)
  • Nové konfigurační atributy,
  • Nové ovladače (MSSQL, PayPal Pro)
  • Čištění kódu, optimalizace a opravy chyb [20]
2.3 Kernachtig 2.3.0 2008-12-20
  • Nový router
  • Nová databázová knihovna (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]

Bylo plánováno jako logické pokračování větve 2.3, ale vzhledem k vydání verze 3.0 nebylo dovedeno do stabilního vydání.

3.0 renesance 3.0.0 2009-09-17 [22]
  • Kód byl kompletně přepsán. Žádná kompatibilita s aplikacemi napsanými pro 2.x
  • Architektura se řídí návrhovým vzorem HMVC
  • Přidána nová základní funkce
  • Všichni pomocníci a knihovny jsou třídy ve složce class (žádné adresáře helpers/libraries)
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 7. 6. 2010 [28]
hattrick 3.0.7 2010-07-11 [29]
velký džager 3.0.8 22.09.2010 [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 24. 7. 2011 [34]
3.1 merle 3.1.0 2011-02-07 [35]
  • Vylepšený požadavek / odpověď
  • Kontexty přidané k ověření
  • Odstraněn modul stránkování
esalon 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 24. 7. 2011 [34]
biarmicus 3.1.5 2012-08-31 [36]
3.2 Kolibri 3.2.0 24. 7. 2011 [34]
  • Další upřesnění mechanismu žádost / odpověď
  • Byl změněn princip práce s konfiguračními soubory (ovladače založené na třídách Kohana_Config_Reader a Kohana_Config_Writer )
Milvago 3.2.1 2012-08-27 [36]
hypoleukos 3.2.2 2012-08-31 [37]
3.3 badius 3.3.0 2012-10-23 [38]
  • Přechod na standard PSR-0
  • Zvýšení izolace požadavků HMVC ( Request )
  • Pohodlnější systém zpracování výjimek
  • Přidán modul Minion a modul phpunit

Poznámky

  1. Kdo vyrábí Kohana? Archivováno z originálu 23. září 2010.  (Angličtina)
  2. Stránka ke stažení Kohana Archivováno 10. února 2016 na Wayback Machine 
  3. přehled [Uživatelská příručka Kohana] Archivováno 2. října 2008.
  4. Moderní PHP frameworky - kompletní žebříček . Získáno 11. května 2022. Archivováno z originálu dne 25. února 2022.
  5. Kohana fork od CodeIgniter  (anglicky)  (downlink) . PHP devReview() (19. června 2007). Archivováno z originálu 12. března 2012.
  6. Fórum CodeIgniter Archivováno 25. března 2010. , červen 2007
  7. 1 2 3 4 5 6 Kohana Uživatelská příručka Archivováno 21. listopadu 2009.  (downlink od 16-03-2016 [2422 dní])
  8. Finální verze Kohana / Beginning of Ohanzee (odkaz není dostupný) . Získáno 11. září 2014. Archivováno z originálu 11. září 2014. 
  9. Projektové úložiště na Github . Získáno 13. 8. 2015. Archivováno z originálu 24. 2. 2015.
  10. koseven: Koseven a fork Kohana kompatibilní s PHP7 . — 28. 11. 2017. Archivováno z originálu 9. června 2019.
  11. 12 kohana /kohana . GitHub. Získáno 16. srpna 2016. Archivováno z originálu dne 4. října 2016.
  12. Kohana 3.x vs 2.x Archivováno z originálu 1. února 2012.
  13. KO3: HMVC a směrování . Získáno 30. září 2016. Archivováno z originálu 7. srpna 2016.
  14. Vytvoření jednoduchého widgetu HMVC v Kohana3 . Získáno 2. února 2010. Archivováno z originálu 5. prosince 2010.
  15. 1 2 Vydán BlueFlame 1.0! | CodeIgniter Forums archivováno 23. března 2009.
  16. 1 2 3 4 changelog [Uživatelská příručka Kohana] Archivováno 9. listopadu 2009.
  17. changelog:2.1 [Uživatelská příručka Kohana] Archivováno 2. července 2009.
  18. changelog:2.1.1 [Uživatelská příručka Kohana] Archivováno 2. července 2009.
  19. changelog:2.1.2 [Uživatelská příručka Kohana] Archivováno 31. května 2009.
  20. changelog:2.2 [Uživatelská příručka Kohana] Archivováno 20. června 2009.
  21. [https://web.archive.org/web/20130328112449/http://forum.kohanaframework.org/discussion/4014/2-4-release-candidate-1-released Archivováno 28. března 2013 na Wayback Machine 2.4 Vydán kandidát na vydání 1 [Kohana Forums]]
  22. [https://web.archive.org/web/20130328161906/http://forum.kohanaframework.org/discussion/3479/kohana-v3-0-released Archivováno 28. března 2013 na Wayback Machine Kohana v3.0 Vydáno! [Kohana fóra]]
  23. [https://web.archive.org/web/20130328143112/http://forum.kohanaframework.org/discussion/3787/kohana-v3-0-1-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.1 Vydáno! [Kohana fóra]]
  24. [https://web.archive.org/web/20130328035101/http://forum.kohanaframework.org/discussion/4119/kohana-v3-0-2-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.2 Vydáno! [Kohana fóra]]
  25. [https://web.archive.org/web/20130328132052/http://forum.kohanaframework.org/discussion/4144/kohana-v3-0-3-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.3 Vydáno! [Kohana fóra]]
  26. [https://web.archive.org/web/20130328032053/http://forum.kohanaframework.org/discussion/5299/kohana-v3-0-4-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.4 Vydáno! [Kohana fóra]]
  27. [https://web.archive.org/web/20130328024956/http://forum.kohanaframework.org/discussion/5821/kohana-v3-0-5-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.5 Vydáno! [Kohana fóra]]
  28. [https://web.archive.org/web/20130328153354/http://forum.kohanaframework.org/discussion/5937/kohana-v3-0-6-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.6 Vydáno! [Kohana fóra]]
  29. [https://web.archive.org/web/20130328163300/http://forum.kohanaframework.org/discussion/6209/kohana-v3-0-7-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.7 Vydáno! [Kohana fóra]]
  30. [https://web.archive.org/web/20130328142923/http://forum.kohanaframework.org/discussion/6867/kohana-v3-0-8-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.8 Vydáno! [Kohana fóra]]
  31. [https://web.archive.org/web/20130328115434/http://forum.kohanaframework.org/discussion/7699/kohana-v3-0-9-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .0.9 Vydáno! [Kohana fóra]]
  32. 1 2 [https://web.archive.org/web/20130328120526/http://forum.kohanaframework.org/discussion/8418/kohana-3-1-2-kohana-3-0-10-released Archivováno kopie ze dne 28. března 2013 na Wayback Machine Kohana 3.1.2 & Kohana 3.0.10 Vydána! [Kohana fóra]]
  33. 1 2 [https://web.archive.org/web/20121127172241/http://forum.kohanaframework.org/discussion/8886/kohana-3-1-3-kohana-3-0-11-released Archivováno kopie ze dne 27. listopadu 2012 na Wayback Machine Kohana 3.1.3 & Kohana 3.0.11 Vydána! [Kohana fóra]]
  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-vydáno Archivováno 27. listopadu 2012 na Wayback Machine Kohana 3.2.0, 3.1.4, 3.0.12 Vydáno! [Kohana fóra]]
  35. [https://web.archive.org/web/20130328024431/http://forum.kohanaframework.org/discussion/8024/kohana-v3-1-0-released Archivováno 28. března 2013 na Wayback Machine Kohana v3 .1.0 Vydáno! [Kohana fóra]]
  36. 1 2 [https://web.archive.org/web/20120830041617/http://forum.kohanaframework.org/discussion/11041/kohana-v3-2-1-and-3-1-5-released Archivováno kopie z 30. srpna 2012 na Wayback Machine Kohana v3.2.1 (a 3.1.5) vydaná! [Kohana fóra]]
  37. [https://web.archive.org/web/20120923153856/http://forum.kohanaframework.org/discussion/11050/kohana-v3-2-2-released Archivováno 23. září 2012 na Wayback Machine Kohana v3 .2.2 Vydáno! [Kohana fóra]]
  38. [https://web.archive.org/web/20121026010735/http://forum.kohanaframework.org/discussion/11191/kohana-3-3-0-released Archivováno 26. října 2012 na Wayback Machine Kohana 3.3 .0 Vydáno! [Kohana fóra]]

Odkazy