Вышла новая версия Doctrine DBAL 3.2.0

Дата публикации: 2021-11-26
Просмотры: 290

Вышла очередная минорная версия Doctrine DBAL 3.2.0.
Она фокусируется на новых функциях, улучшениях и устаревании старых API.
Так же сделан очередной шаг к стандартизации.

Вышла новая версия Doctrine DBAL 3.2.0

Ниже приведены некоторые изменения новой версии Doctrine DBAL 3.2.0.
Полный список изменения можно посмотреть тут.

Сравнение схемы с учетом платформы

Раньше при генерации кода схемы не учитывались нюансы используемой платформы и всегда создавался один и тот же универсальный код.

// old schema
$column1 = new Column('settings', Type::getType('json'));

// new schema
$column2 = new Column('settings', Type::getType('json'), ['length' => 16777215]);

К примеру выше указанные примеры раньше не давали никакой разницы и всегда генерилось бы поле типа TEXT.
Теперь же ограничение по длине позволит указать тип поля MEDIUMTEXT если ваша платформа это поддерживает.

Поддержка psr/cache

Библиотека Doctrine Cache закрывается. С этой версии появляется возможность использовать совместимую с PSR-6 реализацию кеширования результатов.
Рекомендуется всем перейти на новую реализацию через psr/cache.

Поддержка psr/log

Интерфейс SQLLogger был давно разработан и уже устарел. Он не предоставляет всей гибкости необходимой при логировании собыйтий на разных уровнях.
В новой версии добавлена возможность делигировать логирование в систему совместимую с PSR-3.

Всегда кэшировать полный результат

До этой версии результат кешировался только после полного извлечения всех наборов запрашиваемых данных. Это приводилоо к некоторым проблемам.
Теперь результаты запросов кешируются сразу, как только будут получены из БД.
Это значительно упрощает уровень кэширования и делает его поведение более простым.

События для транзакций

В новой версии DBAL представлены еще три события, связанные с транзакциями:

  • onTransactionBegin
  • onTransactionCommit
  • onTransactionRollBack

Ссылка на источник: https://www.doctrine-project.org/2021/11/26/dbal-3.2.0.html

Предыдущая статья:

Вышла новая версия PHP 8.1
Поделиться статьей:

Комментарии:

Авторизуйтесь, для того, чтобы оставить комментарий. Войти на сайт
Подписка на новости
Узнавайте о новых статьях первыми.
Профиль