Kohana

Kohana
Kohana
Kohana.png
Тип

Программный каркас для создания веб-приложений

Разработчик

Kohana Team[1]

Написана на

PHP

Операционная система

Кроссплатформенный

Последняя версия

3.3.0[2] (23 октября 2012)

Лицензия

BSD

Сайт

http://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 на языке Сиу значит «быстрый». Также в японском языке имеет значение «маленький цветок», а на украинском «любимая» и имя известной косатки (Kohana) — все эти значения не имеют отношения к названию.

Особенности

  • Высокая безопасность
  • Хорошо прокомментированный код и встроенные средства отладки и профилирования
  • Прост в понимании
  • Использует парадигму MVC
  • Поддержка UTF-8
  • Очень легко расширяем
  • Распространяется по лицензии BSD

Технологии

Версии

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

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

  • Ветвь 3.1.x. Последняя стабильная версия 3.1.5 (поддержка закончена).
  • Ветвь 3.2.x. Последняя стабильная версия 3.2.2. Официальная поддержка до мая 2013 г.
  • Ветвь 3.3.x. Рекомендуется для вновь разрабатываемых приложений[8]. Текущая стабильная версия 3.3.0. Официальная поддержка до ноября 2013 г. В данной ветке продолжена переработка механизма «запрос-ответ» (Request/Response), особенно в части HMVC-запросов, изменения в роутинге (фильтры, см. #4388 (англ.))

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

Отличие Kohana от CodeIgniter

Иллюстрация наследования ресурсов
  • Строгое PHP5 ООП. Предполагает много плюсов: защита видимости, автоматическая подгрузка классов, перегрузка свойств и методов, интерфейсы, абстрактные классы, и применение паттерна одиночка (singleton).
  • Kohana присоединилась к инициативе [GoPHP5]. Все релизы после 2.2 будут соответствовать этим правилам.
  • Сохранен стиль CodeIgniter. Любой, кто использовал CodeIgniter, быстро поймет структуру Kohana.
  • Управляется сообществом, не компанией. Kohana управляется дискуссиями, идеями и кодом сообщества. Разработчики Kohana из всех уголков света, каждый со своим собственным талантом. Это позволяет ускорить и сделать более гибким цикл разработки в котором реагирование на проблемы занимает часы, вместо дней или месяцев.
  • Массивы GET, POST, COOKIE, и SESSION работают как предполагается. Kohana не ограничивает доступ к глобальным переменным, но предоставляет ту же фильтрацию и XSS защиту, что и CodeIgniter.
  • Каскадные ресурсы, модули и наследование. Контроллеры, модели, библиотеки, хелперы, и виды могут быть загружены из любого места вашей системы, приложения, или модуля. Опции конфигурации наследуемы и могут динамически перезаписываться каждым приложением.
  • Нет конфликтов пространств имён. Суффиксы классов, как «_Controller», используются для предотвращения конфликтов пространства имён. Это позволяет пользовательским контроллерам и моделям загружаться в одно и то же время.
  • Настоящая автозагрузка классов. Действует для библиотек, контроллеров, моделей, и хелперов. Это не предзагрузка, а настоящая динамическая подгрузка классов при их инициализации.
  • Хелперы — статические классы, не функции. Для примера, вместо использования «form_open()», вы можете использовать «form::open()».
  • Связанность драйверов библиотек и API.
  • Мощный обработчик событий. В Kohana события могут быть динамически добавлены, заменены или, даже, удалены. Это позволяет вносить значительные изменения в процесс работы Kohana, без модификации существующего системного кода.

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

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

  • Изменена организация файловой системы. Все классы выделены в директорию classes с подкаталогами model и controller для моделей и контроллеров соответственно. Библиотеки и хэлперы в Kohana 3.x хранятся вместе и по сути теперь не отличаются друг от друга.
  • Единое правило именования классов. Имя любого класса должно соответствовать директории, в которой расположен файл этого класса (например, класс Model_Foo_Bar должен располагаться в файле classes\model\foo\bar.php).
  • Часть функциональности ядра вынесена в отдельные модули (например, Database, ORM), которые можно отключать.
  • Больший контроль над кодом, выполняемым до загрузки фреймворка. В связи с этим из ядра фреймворка были удалены события (Events) и хуки (Hooks).
  • Новый механизм роутинга.
  • Значительные изменения в слоях Database и ORM.
  • Можно запустить любой контроллер и получить его вывод не только по HTTP, но и прямо из кода (указав роут), минуя протокол HTTP. Это позволяет вынести независимые блоки генерируемого контента в отдельные контроллеры, а также упрощает клиент-серверное взаимодействие в AJAX[10][11].

Отличие 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[12]
  • Первоначальный релиз
  • Форк от CodeIgniter 1.5.4 (предварительный релиз, ревизия 566 в svn)[12]
Kohana 2.0 Superlime 2.0 2007-11-08[13]
  • Код полностью переписан, нет старого унаследованного кода[13][7]
  • Прекращена совместимость с PHP4, ориентация на PHP5[7]
  • Полностью объектно-ориентированный программный каркас[7]
  • В поставку включены модули[7]
  • Концепция каскадных ресурсов[7]
2.1 Schneefeier 2.1.0 2008-02-05[13]
  • Новые библиотеки: 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[14]
2.1.1 2008-02-06[13]
  • Исправлена ошибка расширения хелперов
  • Добавлены английский (UK), немецкий и македонский языки[15]
2.1.2 2008-06-10
  • Добавлена константа KOHANA_IS_WIN, которая сигнализирует о работе на платформе Windows
  • Многочисленные исправления ошибок[16]
2.2 Efímera 2.2.0 2008-08-08
  • Новые библиотеки (Captcha)
  • Новые хелперы (upload, format, и т. д.)
  • Новые атрибуты конфигурации,
  • Новые драйверы (MSSQL, PayPal Pro)
  • Чистка кода, оптимизация и исправления ошибок[17]
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[18]

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

3.0 renaissance 3.0.0 2009-09-17[19]
  • Код полностью переписан. Нет совместимости с приложениями, написанными для 2.х
  • Архитектура соответствует шаблону проектирования HMVC
  • Добавлена новая функциональность ядра
  • Все хелперы и библиотеки являются классами в папке classes (без директорий helpers/libraries)
3.0.1 2009-10-16[20]
3.0.2 2009-11-21[21]
3.0.3 2009-11-23[22]
wyau cwningen 3.0.4 2010-04-04[23]
3.0.5 2010-05-25[24]
sumar hiti 3.0.6 2010-06-07[25]
hattrick 3.0.7 2010-07-11[26]
großen jäger 3.0.8 2010-09-22[27]
nya året 3.0.9 2010-12-30[28]
Hierofalco 3.0.10 2011-03-13[29]
vespertinus 3.0.11 2011-05-02[30]
cuvierii 3.0.12 2011-07-24[31]
3.1 merle 3.1.0 2011-02-07[32]
  • Усовершенствована работа Request/Response
  • В валидацию добавлены контексты
  • Удален модуль Pagination
aesalon 3.1.1 2011-02-16
Hirondelle 3.1.2 2011-04-14[33]
araea 3.1.3 2011-05-02[34]
fasciinucha 3.1.4 2011-07-24[35]
biarmicus 3.1.5 2012-08-31[36]
3.2 Kolibri 3.2.0 2011-07-24[37]
  • Дальнейшая доработка механизма Request/Response
  • Изменен принцип работы с конфигурационными файлами (драйверы на основе классов Kohana_Config_Reader и Kohana_Config_Writer)
Milvago 3.2.1 2012-08-27[38]
hypoleucos 3.2.2 2012-08-31[39]
3.3 badius 3.3.0 2012-10-23[40]
  • Переход на стандарт PSR-0
  • Повышение изолированности HMVC-запросов (Request)
  • Более удобная система обработки исключений
  • Добавлен модуль Minion

Примечания

  1. Who makes Kohana? (англ.)
  2. Страница загрузки Kohana (англ.)
  3. overview [Kohana User Guide]
  4. Современные PHP-фреймворки — полный список лидеров
  5. Kohana fork from CodeIgniter  (англ.). PHP devReview() (19 июня 2007 г.). Архивировано из первоисточника 12 марта 2012.
  6. Форум CodeIgniter, июнь 2007 г.
  7. 1 2 3 4 5 6 overview: history [Kohana User Guide]
  8. 1 2 Kohana: Download
  9. Kohana 3.x vs 2.x
  10. KO3: HMVC и роутинг
  11. Делаем простой HMVC-виджет в Kohana3
  12. 1 2 BlueFlame 1.0 Released! | CodeIgniter Forums
  13. 1 2 3 4 changelog [Kohana User Guide]
  14. changelog:2.1 [Kohana User Guide]
  15. changelog:2.1.1 [Kohana User Guide]
  16. changelog:2.1.2 [Kohana User Guide]
  17. changelog:2.2 [Kohana User Guide]
  18. 2.4 Release Candidate 1 Released [Kohana Forums]
  19. Kohana v3.0 Released! [Kohana Forums]
  20. Kohana v3.0.1 Released! [Kohana Forums]
  21. Kohana v3.0.2 Released! [Kohana Forums]
  22. Kohana v3.0.3 Released! [Kohana Forums]
  23. Kohana v3.0.4 Released! [Kohana Forums]
  24. Kohana v3.0.5 Released! [Kohana Forums]
  25. Kohana v3.0.6 Released! [Kohana Forums]
  26. Kohana v3.0.7 Released! [Kohana Forums]
  27. Kohana v3.0.8 Released! [Kohana Forums]
  28. Kohana v3.0.9 Released! [Kohana Forums]
  29. Kohana 3.1.2 & Kohana 3.0.10 Released! [Kohana Forums]
  30. Kohana 3.1.3 & Kohana 3.0.11 Released! [Kohana Forums]
  31. Kohana 3.2.0, 3.1.4, 3.0.12 Released! [Kohana Forums]
  32. Kohana v3.1.0 Released! [Kohana Forums]
  33. Kohana 3.1.2 & Kohana 3.0.10 Released! [Kohana Forums]
  34. Kohana 3.1.3 & Kohana 3.0.11 Released! [Kohana Forums]
  35. Kohana 3.2.0, 3.1.4, 3.0.12 Released! [Kohana Forums]
  36. Kohana v3.2.1 (and 3.1.5) released! [Kohana Forums]
  37. Kohana 3.2.0, 3.1.4, 3.0.12 Released! [Kohana Forums]
  38. Kohana v3.2.1 (and 3.1.5) released! [Kohana Forums]
  39. Kohana v3.2.2 Released! [Kohana Forums]
  40. Kohana 3.3.0 Released! [Kohana Forums]

а также модуль phpunit

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Kohana" в других словарях:

  • Kohana — is a female Orca born at SeaWorld San Diego in California on May 3, 2002. She was conceived through artificial insemination, the second Orca to be so conceived. Her parents are Takara and Tillikum. At the time of Kohana s birth, her parents had… …   Wikipedia

  • Kohana — (The swift PHP Framework) Desarrollador Kohana Software Foundation [1] Kohanaframework.org Información general …   Wikipedia Español

  • Kohana — (женское имя) Маленький цветок. Японские имена. Словарь значений …   Словарь личных имен

  • Kohana — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Kohana est un prénom féminin. Sommaire 1 Prénom 1.1 Sens et origine du prénom …   Wikipédia en Français

  • Kohana (orque) — Kohana est une orque femelle née au SeaWorld de San Diego en Californie, le 3 mai 2002. Il s agit du deuxième orque conçu par insémination artificielle. Ses parents se nomment Takara (mère), Tillikum (père). Kohana n a connu son père que plus… …   Wikipédia en Français

  • Kohana (Web Framework) — infobox Software name = Kohana caption = Kohana homepage on 2007 11 17. developer = Kohana Software Foundation [ [http://trac.kohanaphp.com/wiki/Developers Developers Kohana Trac ] ] latest release version = [http://kohanaphp.com/download.html… …   Wikipedia

  • Kohana — japanischer Name, Bedeutung: kleine Blume …   Deutsch namen

  • Kohana (Web Framework) — …   Википедия

  • naked —   Kohana.   Also: ōlohe, ōlohelohe, ilikini, koaka, pōka o, hāka o, omimo.    ♦ To go naked, hele wale, hele kohana …   English-Hawaiian dictionary

  • nakedness —   Kohana, kahi huna, hena …   English-Hawaiian dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»