Версия 2.0.4 является патч релизом и содержит около сотни небольших улучшений и исправлений. Она исправляет проблему безопасности CVE-2015-3397, которая позволяла провести XSS для пользователей IE6/IE7. Если ваше приложение рассчитано на работу с этими браузерами, обновляйтесь как можно быстрее.
Из улучшений можно отметить:
- Новый валидатор
EachValidator
, позволяющий проверить каждый элемент массива. - Новый метод
yii\base\Model::attributeHints()
, который позволяет настроить подсказки для полей ввода (в дополнение к их названиям). indexBy()
можно использовать вместе сcolumn()
при запросах к базе данных черезyii\db\Query
. В этом случае возвращается массив скалярных значений, индексированных указанным полем из базы или вычисляемым индексом.
Кроме приведённых выше изменений, есть и другие. Полный список можно посмотреть в CHANGELOG.md фреймворка и отдельных расширений.
Следить за разработкой фреймворка можно поставив звёздочку на GitHub. Также подписывайтесь на Twitter и присоединяйтесь к группе Facebook.
Спасибо всем, кто принимает участие в разработке Yii.
Комментарии (13)
sokolnikov
11.05.2015 14:13+1Спасибо за хорошо документированный код! attributeHints() еще не описан в гайде на сайте, но документации в коде класса Model вполне достаточно.
Akdmeh
11.05.2015 20:02Хотел уточнить на счет attributeHints. Данные надписи будут появляться в формах? Если да, нужна ли модификация форм, или вывод подсказок будет осуществлять какой-то существующий метод, например, field в ActiveForm?
sokolnikov
11.05.2015 20:44+1Вид модифицировать не надо. Надо всего лишь для соответствующей модели создать метод attributeHints() .
Например:
public function attributeHints() { return [ 'name' => 'Имя клиента' ]; }Akdmeh
11.05.2015 20:48Это понятно. Проверил. В ActiveField изменился вид template, в который добавился {hint}, поэтому если данное свойство не перегружено в пользовательском классе, тогда все в порядке.
Zhuravljov
11.05.2015 20:16+1Еще добавили полноценную поддержку подзапросов в условных блоках. Спасибо!
restyler
12.05.2015 23:50Спасибо, про indexBy+column я тоже делал issue :)
Ребята, ожидается ли в ядре какой-нибудь вариант реализации очередей?SamDark Автор
13.05.2015 04:27+1Да: github.com/yiisoft/yii2/issues/492 и github.com/yiisoft/yii2/pull/2378. Можете поучаствовать в обсуждении и реализации и ускорить процесс.
restyler
14.05.2015 01:31да, я давно слежу за этими ветками, и они мертвые :( соваться с предложением скопировать немножко у laravel — это наверное моветон!
SamDark Автор
14.05.2015 12:15Ну так оживляйте. У них milestone выставлен в 2.1, то есть основная команда за них браться пока не будет, если конечно, не будет pull request-а.
armab
EachValidator классный!
Из доков:
Voenniy
Да, давно нужен был такой валидатор, а то приходилось свои велосипеды делать.
izac
Да, мне его так давно не хватало.