Запланирован FuelPHP v2.0

21st Февраль 2012 | Категории: FuelPHP, PHP | Метки:

Проанализировав тикеты на 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). Причесывается код. Все это должно положительно сказаться на читабельности и скорости кода. Пожелаем удачи разработчикам.

Subscribe without commenting


  1. Дмитрий
    21st Февраль 2012 в 14:06

    Я аж изошёл слюной пока читал твой пост 🙂
    Я просто обожаю Fuelphp.

  2. Buka
    26th Март 2012 в 16:42

    Жаль, что сразу схватились за v2, ещё толком ничего не сделав в почти готовой v1.2. v2 будет полностью несовместим с v1, а если почитать роадмап — так вообще другой фрэймворк будет, и пакет Admin намекает на предстоящее превращение в «многоненужно-неизменяемо-делайкакмызадумали» Yii. Что-то интузиазма не добавило.

  3. Тарлюн Максим
    26th Март 2012 в 19:50

    Разработчики не скрывают, что вдохновляются рельсами. Тамошние гемы-админки — очень полезные модули.
    В целом мнне нравится роадмап v2.0:
    — еще быстрее (уже сейчас базовое уменьшение потребление памяти и времени выполнения почти на 10%)
    — переписанный ORM, который будет так же оптимальнее (быстрый и менее прожорливый)
    — более полная документация (то что есть сейчас тянет на дохлую 4)
    — более удобный механизм установки модулей (cells), то что есть сейчас — не дотягивает ни до CI-Sparks, ни до модулей Yii

    ну и по простым тестам FuelPHP кушает памяти в 3-4 раза меньше, чем тот же Yii (пример блога из стандартной поставки выжирает 14мб памяти!)