Разочарование в Kohana

12th Ноябрь 2011 | Категории: Kohana, PHP, Мнение | Метки:

Последнюю неделю плотно знакомился с фреймворком Kohana 2. Продвинутые читатели вспомнят, что уже два года прошло с релиза третьей, полностью переписанной, версии фреймворка. Но все по порядку.

Для начала предыстория. Так получилось, что на основной работе я всегда дорабатывал что-то чужое и уже готовое. Для общего развития осенью 2008 года я стал знакомиться с фреймворками. В то время мне очень понравился CodeIgniter. В итоге я и выбрал данный фреймворк в качестве основного инструмента для написания сайта-хобби. Критиковать CodeIgniter можно очень долго. Но речь сегодня не о нём, а о его форке — Kohana. Чуть раньше, чем я познакомился с CodeIgniter группа разработчиков, также разочарованная в нём, создала свой фреймворк с блэк джеком и… ну вы поняли….

Kohana очень популярна у бывших разработчиков CodeIgniter, и в этом нет ничего удивительного. Когда впервые видишь код на Kohana 2, понимаешь: вот как должен выглядеть CodeIgniter. Начинаешь переписывать свои классы, и просто наслаждаешься процессом. Такие вещи, как  Auth и ORM доступны сразу, «из коробки». В итоге получаем более чистый код. Настоящую автозагрузку. А вместо хелперов — статические классы. Перечислять можно долго. По мне, Kohana пару лет назад выглядела лучше, чем CodeIgniter сейчас. И если бы не унылая документация, могла бы и обойти его по популярности. И тут мы плавно переходим к главной теме поста: помидорометанию.

Документация — просто ад. Ужасное структурирование. Неработающие примеры. Форум, на котором сам чёрт ногу сломит. Отсутствие вменяемой информации в сторонних блогах (к тому же часть официального блога утеряна). Всё это выливается в нерешаемые ошибки на ровном месте. Сложности возникают, в основном, у новичков, пробующих разобраться с библиотеками ORM | Auth. Частично — это проблемы второй версии. Но и в третьей попадются огрехи — документация иногда не поспевает за разработкой. А многие вопросы вообще никак не освещены в хелпе.

После ужасной документации идут ужасы самого кода. Нет, исходники вполне себе хороши. Но вот то, что делают разработчики с основными классами, заставляет многих нервничать (или оставаться на старой ветке до скончания веков). И если при переходе к третьей ветке более или менее это было объяснимо: фреймворк переписан с нуля и ни о какой обратной совместимости не может быть и речи, то последние релизы 3.1 и 3.2 вносят столько радикальных изменений, что приходится курить мануалы и потрошить форумы при переписывании кода на 3.2. Самый сок: в 3.2 убрали всеми любимую функцию xss_clean.

Сейчас сообщество активно проталкивает ввод namespacе в версии 3.3, а это означает PHP v5.3 в минимальных требованиях фреймворка.

В минусы можно также записать отсутствие достойных и популярных CMS, написанных на фреймворке Kohana. А ведь на CodeIgniter их написано достаточно.

PS. Не стоит говорить о моей предвзятости. Про свой любимый CodeIgniter я могу написать гораздо больше. И если бы сейчас передо мной стоял выбор фреймворка для нового проекта, не уверен что выбрал бы его. На следующей неделе буду изучать форк Kohana -> FuelPHP, о релизе которого я уже писал раньше.

Subscribe without commenting


  1. 12th Ноябрь 2011 в 21:59

    Да помню, как начал читать статьи о Kohana и стал пускать слюни, а увидев документацию, плюнул и удалил к черту её

  2. 13th Ноябрь 2011 в 00:07

    Я начинал с версии 3.2. поэтому проблем с совместимостью не исытал, но знаю, что она есть. До документация хреновая, но мне хватало API.
    Не понял, нафига знакомиться с Kohana 2, когда актуальная 3.2?

  3. Тарлюн Максим
    13th Ноябрь 2011 в 00:41

    @Канат
    Ko2 — прямая наследница CodeIgniter. Была идея с минимальными правками перенести код. + Было интересно посмотреть на форк.

  4. А мне kohana пришлась по душе, както там все более понятно и логично.
    Да, с доками и статьями по поводу 3.2 туго, не смотря на то, что уже можно скачать 3.3
    В этом плане мне понравился yii — уйма инфы на русском, готовые примеры на оф.сайте, но както у меня с ним все равно не склеилось, может чуть по-позже…)

  5. babr
    17th Октябрь 2012 в 17:53

    >Но и в третьей попадются огрехи — документация иногда не поспевает за разработкой. А
    >многие вопросы вообще никак не освещены в хелпе.

    Лучший код это документация

  6. Романыч
    5th Декабрь 2012 в 02:06

    babr :>Но и в третьей попадются огрехи — документация иногда не поспевает за разработкой. А
    >многие вопросы вообще никак не освещены в хелпе.
    Лучший код это документация

    Может вы хотели сказать, что лучшая документация — это код? 🙂
    Я думаю именно так. И в Кохане отличный код. Уже год работаю на ZF, никак не осилю его полностью, с Коханой же как-то проще всё понятно, осталось руку набить.

  7. Тарлюн Максим
    5th Декабрь 2012 в 08:13

    @Романыч

    лучшая документация — это код?

    Если оценивать документацию по такому признаку, то я бы выбрал Yii. Отличное API, документация, примеры, книги. Хороший форум (возможно, самый живой из всех русских форумов посвященных фреймворкам). Да, у него есть свои недостатки. Но в плане документации это твердые 5+ по пятибальной шкале.