- PVSM.RU - https://www.pvsm.ru -

Yii 2.0.12

Вышла версия 2.0.12 PHP фреймворка Yii. Инструкции по установке и обновлению ищите на странице
http://www.yiiframework.com/download/ [1].

Yii 2.0.12 - 1

Версия 2.0.12 является минорным релизом Yii 2.0. Она включает в себя более сотни улучшений и исправлений [2].

В релиз вошли несколько изменений, которые могут повлиять на существующие приложения. Эти изменений описаны в UPGRADE.md [3] file.

Спасибо сообществу Yii [4] за поддержку проекта!

За разработкой фреймворка можно следить поставив звёздочку на GitHub [5]. Также можно подписаться на Twitter [6] и Facebook [7].

Данный релиз задержался так как команда была занятна дргими вещами. Например, мы работаем над новым сайтом [8] и YiiConf
— конференции по Yii
, которая пройдёт совсем скоро в Москве.

Так как Yii 2.1 уже разрабатывается [9], убедитесь, что версия в вашем composer.jsonпрописана как ~2.0.12, а не >= или *. Так при релизе 2.1 ваш проект точно не сломается.

Ниже мы рассмотрим самые интересные изменения релиза. Полный список можно посмотреть в CHANGELOG [2].

Тесты

Покрытие тестами очень важно для своевременного обнаружения проблем.
К релизу @vladis84 [10], @boboldehampsink [11], @Kolyunya [12] и
другие члены сообщества Yii помогли нам расширить покрытие кода.

@schmunk42 [13] настроил дополнительное тестирование на базе docker и развернул его в GitLab [14]. Некоторые тесты там всё ещё падают. Главным образом из за отличий в данных для интернационализации. Это будет исправлено немного позже.

Базы данных

Слой работы с базами получил несколько улучшений в работе с выражениями. Теперь из можно использовать в yiidbQueryTrait::limit(), yiidbQueryTrait::offset() и yiidataSort.

MSSQL

Поддержка MSSQL существенно улучшилась. Значительно возросла скорость чтения схемы и был реализован метод yiidbmssqlQueryBuilder::resetSequence().

Безопасность

  • yiibaseSecurity::hkdf() был улушен. Теперь, если это возможно, используется hash_hkdf() из PHP >= 7.1.2.
  • В yiicaptchaCaptchaAction теперь используется mt_rand() вместо rand() .

Юзабилити

Шаблон миграций теперь по умолчанию использует safeUp() и safeDown(). В том случае, когда изменения схемы в транзакции не поддерживаются (например, MySQL), изменения применяются без транзакций.

Различные компоненты фреймворка обзавелись значениями по умолчанию:

  • yiidataSqlDataProvider теперь считаем записи самостоятельно в том случае, когда totalCount не указан.
  • Провайдеры данных автоматически выставляют ID. Больше нет необходимости указывать его для случая когда несколько провайдеров с постраничной разбивкой используется на одной странице.
  • Фильтр для yiigridDataColumn автоматически генерится как выпадающий список в том случае, если format выставлен в boolean.

Команда yii cache начала предупреждать о том, что она не может очистить кеш APC из консоли.

yiifiltersAccessRule теперь позволяет передать параметры в функцию проверки роли.

Производительность

  • В yiiwebUrlManager добавлена поддержка кеширования вызовов yiiwebUrlRule::createUrl() в случае использования правил с умолчаниями.
  • В DB command Добавлена опция для отключения логирования и профайлинга.
  • yiidataActiveDataProvider не делает запросы в том случае, когда количество моделей равно нулю.

Всякое

StringHelper научился работать с URL-безопасным base64 через методы encode()/decode(). Это может быть полезно для различных токенов.

yiihelpersHtml::img() теперь позволяет указать srcset [15]:

[php]
echo Html::img('/base-url', [
    'srcset' => [
        '100w' => '/example-100w',
        '500w' => '/example-500w',
        '1500w' => '/example-1500w',
    ],
]);

У yiiwidgetsLinkPager можно рендерить кнопку текущей страницы как disabled. Для этого необходимо выставить disableCurrentPageButton в true.

Контроль доступа и валидаторы стали требовать меньше зависимостей:

  • yiifiltersAccessControl теперь может использоваться без компонента user.
  • Валидаторы больше не требуют Yii::$app.

Автор: SamDark

Источник [16]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/framework/257234

Ссылки в тексте:

[1] http://www.yiiframework.com/download/: http://www.yiiframework.com/download/

[2] более сотни улучшений и исправлений: https://github.com/yiisoft/yii2/blob/2.0.12/framework/CHANGELOG.md

[3] UPGRADE.md: https://github.com/yiisoft/yii2/blob/2.0.12/framework/UPGRADE.md

[4] сообществу Yii: https://github.com/yiisoft/yii2/graphs/contributors

[5] на GitHub: https://github.com/yiisoft/yii2

[6] Twitter: https://twitter.com/yiiframework

[7] Facebook: https://www.facebook.com/groups/yiitalk/

[8] новым сайтом: https://github.com/yiisoft-contrib/yiiframework.com

[9] Yii 2.1 уже разрабатывается: https://github.com/yiisoft/yii2/tree/2.1

[10] @vladis84: https://github.com/vladis84

[11] @boboldehampsink: https://github.com/boboldehampsink

[12] @Kolyunya: https://github.com/Kolyunya

[13] @schmunk42: https://github.com/schmunk42

[14] в GitLab: https://gitlab.com/yiisoft/yii2/pipelines

[15] srcset: https://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-srcset/

[16] Источник: https://habrahabr.ru/post/330324/