Yii 2.0.4

    Вышла новая версия 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.
    Поддержать автора
    Поделиться публикацией

    Комментарии 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-а.

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

                Самое читаемое