Здравствуйте. Этой статьей я хочу презентовать свой модуль форм для фреймворка Kohana, который написал вдохновившись аналогичным модулем для Django.
Я не буду глубоко вдаваться в предыстории и размышления, а перейду сразу к делу. Сначала опишем недостатки:
Достоинства:
Подробности под катом.
Я не буду глубоко вдаваться в предыстории и размышления, а перейду сразу к делу. Сначала опишем недостатки:
- Модуль сырой. Это конечно же не значит что он ничего не умеет, и совершенно бесполезен, это значит лишь то что он требует масштабирования и небольшого рефакторинга. А так же работы над документацией.
- Насчет рефакторинга. Я искренне старался держать код в чистоте, и чаще всего у меня даже получалось это сделать, однако никто не идеален, и небольшому количеству мест не помешала бы работа напильником.
- Не хватает некоторого количества некритичного функционала.
Достоинства:
- Сохранилась распределенная структура которую можно наблюдать в django forms. Форма состоит из экземпляров класса Field, которые в свою очередь связаны с классом Widget. Благодаря этому открываются богатые возможности для кастомизации.
- Автоматическая генерация форм из ORM моделей с валидацией данных и автоматическим сохранением данных из POST.
- Каждый виджет — это дефолтные кохановские view, что позволяет без особых проблем создавать новые темы для виджетов или быстро корректировать имеющиеся. И для этого не потребуется лезть в исходные коды самого модуля.
Подробности под катом.