<rmcreative>

RSS

Yii 1.1.4

5 сентября 2010

Вышла стабильная версия Yii 1.1.4, включающая более 60 исправлений и улучшений.

  • JQuery UI обновлён до версии 1.8.4 и перемещён к остальным пакетам ядра. Теперь его можно подключать при помощи CClientScript::registerCoreScript.
  • При отсутствии директории assets или прав на неё теперь показывается ошибка.
  • В коде, получаемом при использовании CHtml, live() заменён на delegate().
  • Добавлены классы CSqlDataProvider и CArrayDataProvider. Примеры использования можно посмотреть в API.
  • Автоматическая привязка параметров действий контроллера к $_GET.
  • CUrlManager::addRules(), позволяющий добавлять правила роутинга на лету.
  • Yii::import() теперь выкидывает исключение при отсутствии файла.
  • CActiveRecord::count() теперь учитывает GROUP BY и HAVING.
  • CDbCriteria теперь можно использовать при запросе как параметр для отношений.
  • Улучшена опция together для отношений HAS_MANY и MANY_MANY, предназначенная для формирования одного SQL-запроса с JOIN.
  • Теперь можно получить и изменить критерий в beforeFind() AR-модели.
  • Улучшен код, генерируемый Gii. Добавлен PHPDoc для отношений, изменён код отображений.
  • Зависимости для CChainedCacheDependency можно передавать массивом в конструкторе.
  • CModel::onUnsafeAttribute теперь вызывается только при вызове CModel::setAttributes с параметром $safeOnly==true.

Это лишь часть изменений. Остальные описаны в полном списке изменений на английском.

Также, к нам присоединились два разработчика: Y!! и mdomba.

Комментарии RSS

  1. №3058
    Serge Bezborodov
    Serge Bezborodov 05 сент. 2010 г., 21:01:52

    Радует новая версия! если я правильно понял - преобразование типов параметров экшена контроллера через PHPDoc комменты решили убрать?

  2. №3059
    Sam
    Sam 05 сент. 2010 г., 21:06:28

    Да. Слишком оно было «не в стиле Yii». Очень магично.

  3. №3060
    snnwolf
    snnwolf 06 сент. 2010 г., 1:06:01

    Странно, а у меня первый же запуск демки выдает

    include(ReflectionMethod.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory
  4. №3061
    Serge Bezborodov
    Serge Bezborodov 06 сент. 2010 г., 1:13:19

    Я обновил на рабочем проекте, уже пару часов полет нормальный

  5. №3062
    Sam
    Sam 06 сент. 2010 г., 1:45:01

    snnwolf, какая версия PHP?

  6. №3092
    Nemoden
    Nemoden 12 сент. 2010 г., 15:41:14

    CDbCriteria теперь можно использовать при запросе как параметр для отношений.

    пример можно? в CActiveRelation ничего подобного про критерии не сказано вроде бы. Да и тут CActiveRecord тоже :)

  7. №3096
    Sam
    Sam 13 сент. 2010 г., 0:56:03

    Раньше можно было делать так:

    $user=User::model()->findByPk(1);
    $posts=$user->posts(array('condition'=>'status=1'));

    Теперь ещё и вот так:

    $criteria=new CDbCriteria();
    $criteria->compare('status', 1);
    $posts=$user->posts($criteria);
  8. №3130
    Andrey Gayvoronsky
    Andrey Gayvoronsky 17 сент. 2010 г., 14:55:20
    В коде, получаемом при использовании CHtml, live() заменён на delegate().

    вот это очень плохо. Эта функция добавилась в последнем jquery, а в последнем jquery есть баг для IE (не отрабатывает onsubmit для форм). В результате в проекте пришлось вычищать весь CHTML для аяксовых ссылок и т.п., т.к. мы используем предыдущий jquery.

  9. №4816
    Buzzman
    Buzzman 07 июня 2011 г., 10:46:28

    Sam, я так понимаю в Yii до сих пор не полностью реализована столь часто встречающаяся задача MANY_MANY и большинство предлагают использовать extensions: http://bit.ly/jDLAFH

    Почему не включат это или подобное решение вопроса в основное ядро?

  10. №4817
    Sam
    Sam 07 июня 2011 г., 17:07:27

    Не не, сам MANY_MANY имеется. Нет реализации каскада при сохранении. Не принимаются решения, которые были до этого т.к. есть своё, которое выгодно отличается, но пока существует только в виде идеи.

  11. №4818
    Buzzman
    Buzzman 07 июня 2011 г., 17:44:51

    Эх, скорее бы идея ваша воплотилась в код) Пока указанное решение устраивает, но буду рад, если этот момент будет доработан в будущем. Удачи!

  12. №4819
    Sam
    Sam 07 июня 2011 г., 19:02:10

    Скорее пока не выходит. Там изменения приличные и, возможно, придётся ломать обратную совместимость, а это уже Yii 1.2 или Yii2.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.