8,2
рейтинг
11 мая 2015 в 11:56

Разработка → Yii 2.0.4

Yii*, PHP*
Вышла новая версия PHP фреймворка Yii 2.0.4. Инструкции по установке и обновлению доступны на странице http://www.yiiframework.com/download/.

Версия 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.
Александр Макаров @SamDark
карма
287,4
рейтинг 8,2
PHP, Yii, Android

Самое читаемое Разработка

Комментарии (13)

  • +3
    EachValidator классный!

    Из доков:
    public function rules()
    {
        return [
            // checks if every category ID is an integer
            ['categoryIDs', 'each', 'rule' => 'integer'],
        ]
    }
    
    • 0
      Да, давно нужен был такой валидатор, а то приходилось свои велосипеды делать.
    • 0
      Да, мне его так давно не хватало.
  • +1
    Спасибо за хорошо документированный код! attributeHints() еще не описан в гайде на сайте, но документации в коде класса Model вполне достаточно.
  • 0
    Хотел уточнить на счет attributeHints. Данные надписи будут появляться в формах? Если да, нужна ли модификация форм, или вывод подсказок будет осуществлять какой-то существующий метод, например, field в ActiveForm?
    • +1
      Вид модифицировать не надо. Надо всего лишь для соответствующей модели создать метод attributeHints() .

      Например:

      public function attributeHints() { return [ 'name' => 'Имя клиента' ]; }
      • 0
        Это понятно. Проверил. В ActiveField изменился вид template, в который добавился {hint}, поэтому если данное свойство не перегружено в пользовательском классе, тогда все в порядке.
  • +1
    Еще добавили полноценную поддержку подзапросов в условных блоках. Спасибо!
    • +1
      Там много интересного, но небольшого.
  • 0
    Спасибо, про indexBy+column я тоже делал issue :)
    Ребята, ожидается ли в ядре какой-нибудь вариант реализации очередей?
    • +1
      Да: github.com/yiisoft/yii2/issues/492 и github.com/yiisoft/yii2/pull/2378. Можете поучаствовать в обсуждении и реализации и ускорить процесс.
      • 0
        да, я давно слежу за этими ветками, и они мертвые :( соваться с предложением скопировать немножко у laravel — это наверное моветон!
        • 0
          Ну так оживляйте. У них milestone выставлен в 2.1, то есть основная команда за них браться пока не будет, если конечно, не будет pull request-а.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.