:-)
  • PHP 11.07.2009

    Я взялся за изучение фреймворка Kohana. Подкупил меня размер - чуть меньше мегабайта. Я давно хотел найти быстрый и легкий фреймворк для небольших разработок. Пока я не настолько его изучил, чтобы делать глобальные выводы, но могу рассказать о процессе изучения.

    О том как установить Kohana легко найти в интернете. Вкратце: скачать, распаковать, запустить install, удалить install. Про то, как убрать index.php из адреса тоже пару слов всего: переименовать example.htaccess в .htaccess и убрать index.php из $config['index_page'] в конфиге.

    Собственно постороение приложения на Кохане я начал с того, что захотел переписать на этом фреймворке скриптик по удаленному управлению сайтами. И первая задача - формочка добавления сайта в БД. И тут возникли первые проблемы. Компоненты для построения форм, которые описаны в туториалах: Forge и Formation. Я выбрал Formation, скачал, установил. Не работает, выдает ошибки. Гуглил, читал форумы, боролся. От безысходности постучался в аську к одному парню, который имел дело с Коханой и получил ответ, что Forge и Formation блин уже deprecated. Как вам такое? На сайте я не видел об этом ни слова. Может не там искал?

    Ладно, пошел я дальше искать модуль для создания формочек. Посоветовали мне Morf. Зашел на страничку проекта. А там такой тухляк.. полгода код не обновляется, висит один тикет и еще два закрыто. Понятно все, не надо нам добра такого. В общем остался последний модуль на который были все надежды - Formo.

    Formo завелся сразу, подключился без особых хлопот.  Только вот одна проблема, форму мне выводит с помощью P и DIV, а мне проще в TABLE запихать. Стал искать способы заставить генерить форму по-другому. Модифицировал объект, менял настройки - фиг. Нашел в мануале статью по темплейтам, переделал под темплейт. Не работает. Оказалось пример приведен с использованием шаблонизаторов, коими я не пользуюсь. В итоге кое-как заставил генериться форму как надо.

    С валидацеий тоже номер. Искал как в валидацию передать $_POST, чтобы сверить с установками. Оказалось, что Formo сама жрет POST. Так же сама делает repopulation, основываясь на имени таблицы и hidden инпуте. Пока этого не знаешь - пугаешься и мучаешься, когда узнаешь - становится просто и легко. После чего за два дня доделал простейший CRUD.

    Общие впечатления о фреймворке на этот момент:
    1. Наименования классов xxx_Core, когда вызываются они new xxx(); ломает автокомплит из-за чего надо совать IDE отдельный файлик, где прописаны "class xxx extends xxx_Core {}".
    2. Документация местами ужасна. Референс мануал нормальный, референс есть референс. Но вот тьюториалов мало, документация модулей слабая, коммьюнити маленькое. В общем въезжать тяжело.
    3. Местами все все-таки достаточно просто. За 10 минут добавил себе пару нужных хелперов, за полчаса написал плагин к Formo. И то, и другое я выложу чуть попозже.
    4. Дурацкие сообщения об ошибках. Если я ошибся и сунул не тот параметр, который ожидается - вылезает Fatal error где-то в глубине ядра. О том, что это я ошибся в параметре, а не Кохана концы отбрасывает можно только догадываться.
    5. ORM успел посмотреть на уровне CRUD одной таблицы. Удобно.

    Tags: , ,

  • 7 комментариев

    WP_Modern_Notepad
    • Snowcore пишет:

      Да, желания изучать данный framework вообще нету :(

    • CharnaD пишет:

      Не могу сказать, что все так уж плохо. Да нет, вообще задачи возложенные выполняют. Хотя чувствую ограничения. В ORM можно orderby ТОЛЬКО по полям или rand. по md5(), допусим, уже не получится.

    • Maksim пишет:

      вообще желание нет никакого его изучать

    • [YS.PRO] пишет:

      Вообщем шлак я так понимаю

    • Dave Nikolsky пишет:

      2 YS.PRO:

      да, конечно, шлак… отличное заключение по незнанию! )) Читай, вникай ))
      http://phpforum.ru/index.php?showtopic=18373

      «4. Заключение.
      Мне очень понравился данный фреймворк. Раньше я думал что фреймворков проще Code Igniter просто быть не может. Но, как говорится, нет пределов совершенству. Вообщем от работы с Kohana я в восторге. Надеюсь на Вас он произвёл то же самое впечатление. Удачи!
      P.S. Если у Вас что-то не получилось то Вы можете взять готовый исходный код в файле ready.zip.»

    • CharnaD пишет:

      Сейчас я использую Кохану для всех мелких проектов, простая, легкая, быстрая. А недостатки.. у кого их нет?)

    • Максим пишет:

      А я вот юзаю 3-ю версию, пока впечатление норм. Скоро доберусь до форм, узнаю что где и как.

      Также юзаю Зенд, строю на нем формы и могу сказать, что удобен и гибок, но когда идет речь о формы-гиганте, то строить декораторами формы просто жуть, строю по-кусочкам, а вот валидираю с помощью зенда.

      Может тебе стоит перейти на версию 3.х?

    Trackbacks

    Оставить комментарий

    Внимание: Комментарии проходят премодерацию. Не надо посылать их несколько раз.