Yii 2.0.16


Команда PHP-фреймворка Yii выпустила версию 2.0.16, содержащую более сотни исправлений и немного улучшений. Исправлены несколько проблем с безопасностью.


Ветка Yii 2.0 достигла заморозки более чем год назад, что означает что в неё принимаются главным образом исправления. Сделано это было чтобы позволить команде Yii сфокусироваться на Yii 3. В самом конце этого поста есть чуть больше информации про Yii 3.


В данный релиз вошли несколько изменений, которые могут повлиять на существующие приложения. Обязательно прочитайте UPGRADE.md.


Огромное спасибо членам сообщества Yii, которые участвующим в разработке. Без вас такой масштабный проект был бы невозможен. Отдельное спасибо переводчикам, поддерживающим документацию в актуальном состоянии.


Ниже приведены наиболее интересные улучшения, которым всё-таки удалось просочиться в релиз. Полный список, как обычно, можно посмотреть в CHANGELOG.


Active Record


Salem Ouerdani, @tunecino добавил behavior для optimistic locking.


Optimistic locking позволяет нескольким пользователям одновременно редактировать запись и избегать потенциальных конфликтов на стороне сервера. В случае, когда пользователь пытается сохранить правки на основе устаревших данных (потому что другой пользователь уже сохранился), кидается StaleObjectException, а обновление или удаление не делается.


Сам механизм такой блокировки был реализован в первых версиях Yii, но использовать его правильно было не так просто. Теперь просто.


Документацию можно найти в официальном руководстве
и API OptimisticLockBehavior.


Миграции


Консольный генератор миграций теперь по умолчанию использует префиксы таблиц. Если вы хотите изменить это, то можете выставить yii\console\controllers\MigrateController::useTablePrefix в false в конфиге консольных команд.


Базы данных



Хелперы



GridView


Добавлена опция $filterOnFocusOut, определяющая должна ли производиться фильтрация при потере фокуса.


jQuery


Теперь можно установить jQuery 3.3.


Mutex



Исправления безопасности


Были исправлены две проблемы с безопасностью:



Шаблоны приложений



Немного о Yii 3.0


Следующей мажорной версией Yii будет 3.0. Подробный анонс будет позже, а пока кратко:


Обновлённая архитектура: фреймворк разбит на отдельные пакеты.
Это позволит собирать из них то, что вам нужно.


JavaScript-независимый: вместе с реорганизацией исходного кода Yii отвязывается от JavaScript-фреймворка в ядре.
Ключевые пакеты Yii не требуют jQuery.


Совместимость с PSR: Yii 3 будет следовать рекомендациям PHP-FIG. Уже реализованы многие PSR: логирование, кеш, DI и другие.


Yii 3.0 находится в стадии активной разработки. Подробный анонс будет сделан по достижению альфа-версии.

@SamDark
01.02.2019 01:25 UTC
Первоисточник