Kohana
Логотип программы Kohana
Тип Фреймворк для создания веб-приложений
Разработчик Kohana Team[1]
Написана на PHP
Операционная система Кроссплатформенный
Последняя версия 3.3.6[2] (25 июля 2016)
Лицензия BSD
Сайт kohanaframework.org

Kohana (ранее англ. Blue Flame — «Голубое пламя») — PHP5 веб-фреймворк с открытым кодом, который использует архитектурную модель HMVC (Hierarchical Model View Controller — Иерархические Модель-Контроллер-Вид). Его цели — быть безопасным, лёгким и простым в использовании[3].

Электронный журнал для веб-разработчиков PHP Inside признал Kohana «выбором редакции … за архитектуру, быстроту и сообщество»[4]

История

Проект Kohana был создан как ветвь PHP фреймворка CodeIgniter под именем Blue Flame[5]. Главной причиной форка был переход к более открытой для общественности модели разработки, потому, что многие пользователи были недовольны скоростью разработки и исправления ошибок в CodeIgniter. Rick Ellis — создатель и владелец CodeIgniter — был счастлив видеть форк своего проекта, но помогать отказался; он подтолкнул новый проект к созданию собственной документации и посоветовал переименовать проект.[6] В июле 2007 Blue Flame был переименован в Kohana для того, чтобы избежать проблем с авторскими правами в будущем[7].

Название Kohana было выбрано, когда разработчики начали просматривать словари коренных американцев для того, чтобы выбрать слово, не нарушающее авторские права. Kohana на языке Сиу значит «быстрый».

В апреле 2014 года главный разработчик shadowhand заявил,[8] что развитие проекта завершено, однако фреймворк продолжает разрабатываться и поддерживаться сообществом[9], а на официальном сайте продолжают выходить обновления.

4 февраля 2017 года проект был закрыт, главный разработчик "shadowhand" сообщил об этом на сайте фразой "Kohana is DEAD".

После закрытия проекта участники сообщества рассматривали различные варианты фреймворков для миграции, и как выяснилось, любая миграция была бы очень трудной. Поэтому участники сообщества создали форк проекта, который был назван Koseven. Koseven может работать в качестве замены для движка Kohana в проектах, которые до сих пор его используют. Основная цель проекта это исправление ошибок и поддержка новых версий PHP, в то время, как новый функционал рекомендуется добавлять через расширения.[10]

Особенности

Технологии

Версии

Ветви разработки

В настоящее время параллельно разрабатываются три ветви[11]:

Различия между версиями

Отличие Kohana от CodeIgniter

Иллюстрация наследования ресурсов

Отличие Kohana 3 от Kohana 2.х

Версии 2.х и 3 фреймворка Kohana следует рассматривать[12] как разные фреймворки. Основные отличия версии 3 по сравнению с 2.х:

Отличие Kohana 3.1 от Kohana 3.0

В ветке 3.1.x произошло разделение объекта Request на отдельные классы Request и Response. Кроме того, валидация теперь также распределена между классами Validation (управление ходом валидации) и Valid (набор стандартных статических правил, аналогично классу Valid в Kohana 2.3.4). Более подробно об основных изменениях можно почитать в официальной документации (англ.).

Отличие Kohana 3.2 от Kohana 3.1

Основным изменением в ветке 3.2.x стала переработка механизма работы с конфигурационными файлами. Появились классы Kohana_Config_Reader и Kohana_Config_Writer, позволяющие на их основе реализовывать собственные драйверы для работы с различными источниками данных (файлы, СУБД и т. д.). Кроме того, HTTP-кеширование, появившееся в 3.1.x, было вынесено из класса Request в отдельный класс HTTP_Cache модуля Cache.

Отличие Kohana 3.3 от Kohana 3.2

В ветке 3.3.x было принято решение о переходе на стандарт PSR-0 (англ.). В связи с этим все имена каталогов и файлов классов должны начинаться с большой буквы. Кроме того, осуществлен целый ряд изменений по повышению изоляции HMVC-запросов, обработке ошибок выполнения запросов и т. д. Добавлен новый модуль Minion для выполнения Cron-задач.

История версий

Цвет Описание
Красный Старая версия; не поддерживается
Жёлтый Старая версия; всё ещё поддерживается
Зелёный Текущая версия
Голубой Планируемая версия
Название Версия Кодовое имя Подверсия Дата выпуска Существенные изменения
BlueFlame 1.0 1.0 2007-05-31[15]
  • Первоначальный релиз
  • Форк от CodeIgniter 1.5.4 (предварительный релиз, ревизия 566 в svn)[15]
Kohana 2.0 Superlime 2.0 2007-11-08[16]
  • Код полностью переписан, нет старого унаследованного кода[7][16]
  • Прекращена совместимость с PHP4, ориентация на PHP5[7]
  • Полностью объектно-ориентированный программный каркас[7]
  • В поставку включены модули[7]
  • Концепция каскадных ресурсов[7]
2.1 Schneefeier 2.1.0 2008-02-05[16]
  • Новые библиотеки: Cache, Image, ORM, Payment
  • Новые хелперы: num, expires, email, html::link(), html::breadcrumb(), arr::binary_search(), valid::standard_text(), text::widont();
  • Новые модули: Auth & Forge; драйверы PostgreSQL и MySQLi
  • Компрессия вывода gzip, исправления ошибок и изменения в API[17]
2.1.1 2008-02-06[16]
  • Исправлена ошибка расширения хелперов
  • Добавлены английский (UK), немецкий и македонский языки[18]
2.1.2 2008-06-10
  • Добавлена константа KOHANA_IS_WIN, которая сигнализирует о работе на платформе Windows
  • Многочисленные исправления ошибок[19]
2.2 Efímera 2.2.0 2008-08-08
  • Новые библиотеки (Captcha)
  • Новые хелперы (upload, format, и т. д.)
  • Новые атрибуты конфигурации,
  • Новые драйверы (MSSQL, PayPal Pro)
  • Чистка кода, оптимизация и исправления ошибок[20]
2.3 Kernachtig 2.3.0 2008-12-20
  • Новый роутер
  • Новая библиотека баз данных (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]

Планировалась как логичное продолжение ветки 2.3, но ввиду выпуска версии 3.0 так и не была доведена до стабильного релиза.

3.0 renaissance 3.0.0 2009-09-17[22]
  • Код полностью переписан. Нет совместимости с приложениями, написанными для 2.х
  • Архитектура соответствует шаблону проектирования HMVC
  • Добавлена новая функциональность ядра
  • Все хелперы и библиотеки являются классами в папке classes (без каталогов 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 2010-06-07[28]
hattrick 3.0.7 2010-07-11[29]
großen jäger 3.0.8 2010-09-22[30]
nya året 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]
  • Усовершенствована работа Request/Response
  • В валидацию добавлены контексты
  • Удален модуль Pagination
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]
  • Дальнейшая доработка механизма Request/Response
  • Изменен принцип работы с конфигурационными файлами (драйверы на основе классов Kohana_Config_Reader и Kohana_Config_Writer)
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]
  • Переход на стандарт PSR-0
  • Повышение изолированности HMVC-запросов (Request)
  • Более удобная система обработки исключений
  • Добавлен модуль Minion а также модуль phpunit

Примечания

  1. Who makes Kohana? Архивировано 23 сентября 2010 года. (англ.)
  2. Страница загрузки Kohana Архивная копия от 10 февраля 2016 на Wayback Machine (англ.)
  3. overview [Kohana User Guide] Архивировано 2 октября 2008 года.
  4. Современные PHP-фреймворки — полный список лидеров. Дата обращения: 11 мая 2022. Архивировано 25 февраля 2022 года.
  5. Kohana fork from CodeIgniter (англ.). PHP devReview() (19 июня 2007). Архивировано из оригинала 12 марта 2012 года.
  6. Форум CodeIgniter Архивировано 25 марта 2010 года., июнь 2007 г.
  7. 1 2 3 4 5 6 Kohana User Guide Архивировано 21 ноября 2009 года.  (недоступная ссылка с 16-03-2016 [2931 день])
  8. Final releases of Kohana / Beginning of Ohanzee. Дата обращения: 11 сентября 2014. Архивировано из оригинала 11 сентября 2014 года.
  9. Репозиторий проекта на Github. Дата обращения: 13 августа 2015. Архивировано 24 февраля 2015 года.
  10. koseven: Koseven a Kohana fork compatible with PHP7. — 2017-11-28. Архивировано 9 июня 2019 года.
  11. 1 2 kohana/kohana. GitHub. Дата обращения: 16 августа 2016. Архивировано 4 октября 2016 года.
  12. Kohana 3.x vs 2.x Архивировано 1 февраля 2012 года.
  13. KO3: HMVC и роутинг. Дата обращения: 30 сентября 2016. Архивировано 7 августа 2016 года.
  14. Делаем простой HMVC-виджет в Kohana3. Дата обращения: 2 февраля 2010. Архивировано 5 декабря 2010 года.
  15. 1 2 BlueFlame 1.0 Released! | CodeIgniter Forums Архивировано 23 марта 2009 года.
  16. 1 2 3 4 changelog [Kohana User Guide] Архивировано 9 ноября 2009 года.
  17. changelog:2.1 [Kohana User Guide] Архивировано 2 июля 2009 года.
  18. changelog:2.1.1 [Kohana User Guide] Архивировано 2 июля 2009 года.
  19. changelog:2.1.2 [Kohana User Guide] Архивировано 31 мая 2009 года.
  20. changelog:2.2 [Kohana User Guide] Архивировано 20 июня 2009 года.
  21. [https://web.archive.org/web/20130328112449/http://forum.kohanaframework.org/discussion/4014/2-4-release-candidate-1-released Архивная копия от 28 марта 2013 на Wayback Machine 2.4 Release Candidate 1 Released [Kohana Forums]]
  22. [https://web.archive.org/web/20130328161906/http://forum.kohanaframework.org/discussion/3479/kohana-v3-0-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0 Released! [Kohana Forums]]
  23. [https://web.archive.org/web/20130328143112/http://forum.kohanaframework.org/discussion/3787/kohana-v3-0-1-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.1 Released! [Kohana Forums]]
  24. [https://web.archive.org/web/20130328035101/http://forum.kohanaframework.org/discussion/4119/kohana-v3-0-2-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.2 Released! [Kohana Forums]]
  25. [https://web.archive.org/web/20130328132052/http://forum.kohanaframework.org/discussion/4144/kohana-v3-0-3-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.3 Released! [Kohana Forums]]
  26. [https://web.archive.org/web/20130328032053/http://forum.kohanaframework.org/discussion/5299/kohana-v3-0-4-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.4 Released! [Kohana Forums]]
  27. [https://web.archive.org/web/20130328024956/http://forum.kohanaframework.org/discussion/5821/kohana-v3-0-5-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.5 Released! [Kohana Forums]]
  28. [https://web.archive.org/web/20130328153354/http://forum.kohanaframework.org/discussion/5937/kohana-v3-0-6-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.6 Released! [Kohana Forums]]
  29. [https://web.archive.org/web/20130328163300/http://forum.kohanaframework.org/discussion/6209/kohana-v3-0-7-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.7 Released! [Kohana Forums]]
  30. [https://web.archive.org/web/20130328142923/http://forum.kohanaframework.org/discussion/6867/kohana-v3-0-8-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.8 Released! [Kohana Forums]]
  31. [https://web.archive.org/web/20130328115434/http://forum.kohanaframework.org/discussion/7699/kohana-v3-0-9-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.0.9 Released! [Kohana Forums]]
  32. 1 2 [https://web.archive.org/web/20130328120526/http://forum.kohanaframework.org/discussion/8418/kohana-3-1-2-kohana-3-0-10-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana 3.1.2 & Kohana 3.0.10 Released! [Kohana Forums]]
  33. 1 2 [https://web.archive.org/web/20121127172241/http://forum.kohanaframework.org/discussion/8886/kohana-3-1-3-kohana-3-0-11-released Архивная копия от 27 ноября 2012 на Wayback Machine Kohana 3.1.3 & Kohana 3.0.11 Released! [Kohana Forums]]
  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 Архивная копия от 27 ноября 2012 на Wayback Machine Kohana 3.2.0, 3.1.4, 3.0.12 Released! [Kohana Forums]]
  35. [https://web.archive.org/web/20130328024431/http://forum.kohanaframework.org/discussion/8024/kohana-v3-1-0-released Архивная копия от 28 марта 2013 на Wayback Machine Kohana v3.1.0 Released! [Kohana Forums]]
  36. 1 2 [https://web.archive.org/web/20120830041617/http://forum.kohanaframework.org/discussion/11041/kohana-v3-2-1-and-3-1-5-released Архивная копия от 30 августа 2012 на Wayback Machine Kohana v3.2.1 (and 3.1.5) released! [Kohana Forums]]
  37. [https://web.archive.org/web/20120923153856/http://forum.kohanaframework.org/discussion/11050/kohana-v3-2-2-released Архивная копия от 23 сентября 2012 на Wayback Machine Kohana v3.2.2 Released! [Kohana Forums]]
  38. [https://web.archive.org/web/20121026010735/http://forum.kohanaframework.org/discussion/11191/kohana-3-3-0-released Архивная копия от 26 октября 2012 на Wayback Machine Kohana 3.3.0 Released! [Kohana Forums]]

Ссылки