Контент


Kohana: 3.0 или 2.4?

Незадолго до выхода Kohana 3.0RC1 «великодушный пожизненный диктатор» Shadowhand предложил коммьюнити сделать выбор между двумя путями развития:

1. Ветки 3.0 и 2.4 будут развиваться параллельно (релизы примерно в начале сентября), причем 2.4 будет предполагать небольшие изменения по сравнению с 2.3.x (изменится Database и i18n).
2. Ветка 2.4 будет закрыта, все силы перебросят на 3.0. При этом для 2.3.x будет продолжена поддержка в виде выпуска bug-fix‘ов.

Судя по всему, ситуация с разделением девелоперских ресурсов стала основным лейтмотивом данного заявления. Конечно, второй вариант получил большинство голосов от рядовых пользователей, но был ряд серьезных возражений от «отцов» 2.4, в том числе с намеками на возможный форк. Поэтому в итоге было принято Соломоново решение:

1. Обе ветки (2.4 и 3.0) будут выпущены.
2. Будет произведен ряд корректив, направленных на максимальную совместимость данных веток. В частности, средства интернационализации (i18n) и классы Kohana_Config и Kohana_Log будут иметь одинаковый синтаксис. Для Kohana 2.4 создается автолоадер для загрузки модулей из Ko3.
3. Модули Database и ORM будут импортированы из 3.0 в 2.4, и буду загружаться с помощью упомянутого выше нового автолоадера.

Таким образом, при минимуме производимых изменений, переход от 2.3.4 к 2.4 будет достаточно легким (основные изменения коснутся модуля Database). В свою очередь, 2.4 и 3.0 также будут иметь сходные API. Новые разрабатываемые модули будут ориентированы на третью ветку (соответственно они будут доступны и из 2.4).

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Опубликовано в Kohana.


Комментарии (11)

Будьте в курсе обсуждения, подпишитесь на RSS ленту комментариев к этой записи.

  1. Max пишет:

    Спасибо Вам, за освещение материалов по Kohana 3!
    Не могли бы Вы, как профессионал, описать работу (настройку) роутинга в Kohane3. Не совсем понятно, как его (роутинг) настраивать, когда в директории classes/controller находятся еще директории с контроллерами..

  2. Александр пишет:

    Что ж, вполне разумно и уважительно для всех.
    Хотя свои следующие проекты после окончания текущего надеюсь делать на KO3

  3. BIakaVeron пишет:

    @Max
    На самом деле все довольно просто. Есть специальный параметр ‘directory’, который определяет наличие поддиректорий при роутинге:

    Route::set('main', 'main(/<controller>(/<action>(/<id>)))')
              ->defaults(array(
                  'controller'   => 'welcome',
                  'action'         => 'index',
                  'id'                => NULL,
                  'directory'    => 'main',
             ));

  4. Max пишет:

    @BIakaVeron
    Большое человеческое Спасибо!

  5. Mistik пишет:

    А всем нравится структура директорий коханы3???
    Мне не нравится, что все подряд смешивается в общей папке classes. Кохана 2 интуитивней с точки зрения структуры директорий, имхо.
    Вот думаю, переделать ручками 3 версию, по структуре ближе ко второй.

  6. BIakaVeron пишет:

    Почему смешивается? Контроллеры и модели разделены по соответствующим директориям. В корне остаются только хэлперы и библиотеки.

  7. Mistik пишет:

    BIakaVeron
    С контроллерами и моделями — согласен. Интересно, почему бы для хэлперов и библиотек не сделать отдельные директории, как в Кохане2, интуитивнее ведь и меньше путаницы. Или я ошибаюсь? Интересно у слушать мнение…

    Имхо конечно, но мне кажется разработчики Коханы изучали ЗендФреймворк, отдаленно, но кахана3 начинает чем-то напоминать его.

  8. BIakaVeron пишет:

    1. Как таковых хэлперов и библиотек в Кохана3 нет. Они хранятся вместе. Например, хэлпер valid и библиотека Validation теперь объединены в один класс Validate, который может быть использован как статический хэлпер (методы email() и прочие) или как класс для валидации данных.
    2. Согласен, после Ко2 наступает культурный шок от структуры папок и файлов (и не только, теперь ведь вместо суффикса ‘_Controller’ надо писать префикс ‘Controller_’, все время путаюсь), но это дело наживное, как мне кажется.
    3. Изучали, конечно. Например, в документации есть отдельный пункт (в vendors) о подключении классов именно ZF, а очередные изменения в структуре папок Ко3 (тогда еще не было отдельной папки kohana в classes) Shadowhand объяснил именно как переход к Zend-style. Главное, чтобы Кохана перенимала только лучшее ;)

  9. Mistik пишет:

    BIakaVeron
    Спасибо за информацию!
    Работаю php-программистом. К сожалению, руководство запрещает нам пользоваться сторонними фреймворками и даже ихними исходниками. Вся разработка ведется на фреймворке, который предоставила фирма — он ужасен.
    Чтобы не терять квалификацию, в свободные время ковыряю популярные php-фреймворки (их код). Изучая код Кохана2 и Коханы3, заметил эволюцию в сторону Зендовского фреймворка.
    До сих пор структура директорий Коханы2 больше нравится, но и впечатляет легкость,скорость и качество кода Коханы3.
    Поэтому собираюсь собрать нечто среднее между Коханой2 и Коханой3)))
    BIakaVeron, а Вы не в курсе, существует ли хоть какой-то манул на Кохану3???

  10. BIakaVeron пишет:

    Есть заготовка для будущей документации, но там по сути присутствуют только примеры для Database.
    Смотрите исходники, да еще тут.

    PS. Я собираюсь в ближайшее время написать статью с описанием RC1, если есть конкретные вопросы, напишите мне на почту, постараюсь описать все актуальные проблемы.

  11. Александр пишет:

    Что касается хэлперов и библиотек — на мой взгляд, как раз интуитивнее не проводить такого разделения, потому что смысл у них очень похожий, в начале я немного путался :)



Можно включить подсветку кода: <code><pre lang="">...</pre></code>
Разрешены некоторые HTML теги

или используйте trackback.