Что нового в DVelum 2.0
- PHP 7.2, строгая типизация, namespaces, nullable и т.д
- Свежая версия ExtJS 6.2 (вынесена из проекта в отдельный репозиторий)
- Шардинг из коробки на уровне ORM, гибкая система настроек шардига
- Использованы библиотеки Zend Framework 3 (Db, Mail)
- Поддержка установки через Composer, новый репозиторий проекта и модулей
- Установка сторонних модулей через Composer или web интерфейс
- Поддержка автозагрузки PSR-0, PSR-4, автозагрузчик Composer
- Сохранена совместимость с кодом версии 1.x. В системе 2 ядра: 1.x - используется для старых модулей и новое 2.x.
- Переписаны контроллеры и генераторы модулей, меньше кода, больше гибкости.
- Foreign Keys включены по умолчанию
- Изменена структура каталогов системы
- Добавлен менеджер сервисов и их ленивая загрузка
- Убраны статические сеттеры зависимостей
- Часть модулей вынесена из основного дистрибутива (отчеты, документация, файловое хранилище и др.)
- Переработаны модели, методы getList и прочие заменены упрощенным конструктором запросов вида $model->query()->filters($filters)->fetchAll();
Задание параметров методами: filters, params, search, fields, joins
Получение результатов методами: fetchAll, fetchCol, fetchOne, fetchCol, count - Доработана ORM, заложена архитектура для реализации поддержки других СУБД
- Добавлен отдельный механизм запуска фоновых заданий через входной скрипт console.php
- Улучшена производительность
- Иправлено большое количество утечек памяти в JS коде
- Доработана система шаблонов, теперь проще подключить сторонний шаблонизатор. Внимание, потеря обратной совместимости new Template(); заменено на Dvelum\View::factory();
- Доработана архитектура хранения файлов конфигураций, добавлены отдельные папки настроек production, development, test окружений
- Доработана архитектура хранения локализаций объектов
- Пользователь теперь может выбрать тему оформления и локализацию