Запланирован FuelPHP v2.0
Проанализировав тикеты на github, посты на своем форуме и в блоге, разработчики FuelPHP решили выпустить версию 2.0.
Давайте посмотрим, что нам следует ожидать.
Новые пакеты
Admin — Генерация админки для вашего приложения. Вдохновлялись модулем administration из Django (Python).
Рефакторинг
Классы Asset и Theme — Смена архитектуры первого, добавление новых фич — во втором (например, виджеты).
oil generate — Будет более простым для расширения. Сейчас логика и шаблоны расположены в разных местах, что усложняет кастомизацию под свой проект.
Конфигурация классов — Будет унифицирована и приведена к единому формату.
Пагинация — Опять же, унификация.
Сессии — Драйвера сессий слишком сложны и много информации сохраняют в куках, вместо того чтобы хранить на сервере.
Задачи и Миграции — Унифицированный механизм загрузки и именования. Сейчас эти классы не поддерживают каскадную файловую систему, поэтому их использование из приложения вызывает трудности.
Unzip — Замена текущего класса на класс Archive, основанный на драйверах. Со временем будет введена поддержка и других форматов.
Другие изменения
Построитель запросов (Query Builder) — Поддерживает стандарт ANSI SQL-92 и разрабатывался с оглядкой на MySQL. Новая версия разрабатывается под tSQL и no-SQL. Реализация — с помощью драйверов. Класс DBUtil будет объединен с QB.
ORM — Вместо паттерна ActiveRecord будет использоваться паттерн DataMapper.
Fuel Depot — Новое комьюнити FuelPHP. На новом сайте будет собираться вся информация по фреймворку: документация, API, примеры, обучалки и так далее. На сайте будет раздел для выкладывания своих расширений, которые называются Cells (Cells скорее всего будут похожи на Sparks от CodeIgniter).
Загрузчик классов — Отныне все в фреймворке будет пакетом, даже ядро и приложение. Сейчас модули, пакеты и приложения наследуются от разных классов с разной логикой. После устранения этих различий код станет чище и быстрее.
Переработана логика загрузки приложения — Переменные окружения будут синглтоном/статическим классом. Вся логика и данные приложения должны быть отделены от настроек переменных окружения.
Будут переписаны классы Form/Validation/Fieldset — сейчас в них пересекается часть функционала. Классы будут специализированы. Form — просто утилита для генерации форм. Validation — набор правил для проверки ввода (не обязательно пришедших от формы). Fieldset — генерация полных форм, на основе моделей.
Заключение
В целом происходит взросление фреймворка. Убираются мелкие несвязности. Реализовываются фишки с других платформ (Django и RoR). Причесывается код. Все это должно положительно сказаться на читабельности и скорости кода. Пожелаем удачи разработчикам.
Я аж изошёл слюной пока читал твой пост 🙂
Я просто обожаю Fuelphp.
Жаль, что сразу схватились за v2, ещё толком ничего не сделав в почти готовой v1.2. v2 будет полностью несовместим с v1, а если почитать роадмап — так вообще другой фрэймворк будет, и пакет Admin намекает на предстоящее превращение в «многоненужно-неизменяемо-делайкакмызадумали» Yii. Что-то интузиазма не добавило.
Разработчики не скрывают, что вдохновляются рельсами. Тамошние гемы-админки — очень полезные модули.
В целом мнне нравится роадмап v2.0:
— еще быстрее (уже сейчас базовое уменьшение потребление памяти и времени выполнения почти на 10%)
— переписанный ORM, который будет так же оптимальнее (быстрый и менее прожорливый)
— более полная документация (то что есть сейчас тянет на дохлую 4)
— более удобный механизм установки модулей (cells), то что есть сейчас — не дотягивает ни до CI-Sparks, ни до модулей Yii
ну и по простым тестам FuelPHP кушает памяти в 3-4 раза меньше, чем тот же Yii (пример блога из стандартной поставки выжирает 14мб памяти!)