Files
yii/docs/guide/ru/upgrade.txt
2012-03-05 20:37:50 -05:00

68 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Обновление с версии 1.0 на версию 1.1
=====================================
Изменения, связанные со сценариями модели
-----------------------------------------
- Удалён метод [safeAttributes()|CModel::safeAttributes].
Теперь безопасными атрибутами являются те, для которых объявлены соответствующие
правила валидации в методе [rules()|CModel::rules] для конкретного сценария.
- Изменены методы [validate()|CModel::validate],
[beforeValidate()|CModel::beforeValidate],
[afterValidate()|CModel::afterValidate]. Для методов
[setAttributes()|CModel::setAttributes] и
[getSafeAttributeNames()|CModel::getSafeAttributeNames]
параметр 'scenario' удалён. Получать и устанавливать сценарий модели теперь необходимо, используя
свойство [CModel::scenario].
- Изменён метод [getValidators()|CModel::getValidators] и удалён
[getValidatorsForAttribute()|CModel::getValidatorsForAttribute].
CModel::getValidators() теперь возвращает только валидаторы, применяемые к сценарию, определяемому
свойством сценария модели ([CModel::scenario]).
- Изменены методы [isAttributeRequired()|CModel::isAttributeRequired] и
[CModel::getValidatorsForAttribute()]. Параметр сценария удалён. Вместо него
следует использовать свойство сценария модели.
- Удалено свойство CHtml::scenario. CHtml теперь использует сценарий, указанный в модели.
Изменения, связанные с жадной загрузкой для связей Active Record
------------------------------------------------------------------
- По умолчанию для всех связей, включённых в жадную загрузку, будет
сгенерировано и выполнено одно выражение с использованием JOIN. Если в основной
таблице есть опции запроса `LIMIT` или `OFFSET`, то сначала будет выполнен этот
запрос, а затем другой SQL запрос, который возвратит все связанные объекты.
Раньше, в версии 1.0.x, по умолчанию выполнялись `N+1` SQL запросов, если
жадная загрузка включала `N` связей `HAS_MANY` или `MANY_MANY`.
Изменения, связанные с псевдонимами таблиц в связях Active Record
-----------------------------------------------------------------
- Теперь псевдоним по умолчанию для связанной таблицы такой же, как и
соответствующее имя связи. Ранее, в версии 1.0.x, по умолчанию Yii
автоматически генерировал псевдоним таблицы для каждой связанной таблицы,
и мы должны были использовать префикс `??.` для ссылки на этот автоматически
сгенерированный псевдоним.
- Псевдоним для главной таблицы в AR запросе теперь всегда равен `t`.
В версии 1.0.x он соответствовал имени таблицы. Данное изменение ломает код
существующих запросов AR в том случае, если в качестве псевдонима было использовано
имя таблицы. Решение — заменить такие псевдонимы на 't.'.
Изменения, связанные с табличным (пакетным) вводом данных
---------------------------------------------------------
- Для имён полей использование записи вида `поле[$i]` отныне неверно.
Теперь они должны выглядеть так — `[$i]поле`, чтобы была возможность поддержки
множественного ввода однотипных полей (например, `[$i]поле[$index]`).
Другие изменения
----------------
- Изменён конструктор [CActiveRecord]. Первый параметр (список атрибутов) удалён.
<div class="revision">$Id: upgrade.txt 2305 2010-08-06 10:27:11Z alexander.makarow $</div>