- Начало
- Основы
- Работа с формами
- Работа с БД
- Кэширование
- Расширение Yii
- Тестирование
- Специальные темы
- Автоматическая генерация кода
- Красивые адреса URL
- Аутентификация и авторизация
- Темы оформления и скины
- Журналирование
- Обработка ошибок
- Веб-сервисы
- Интернационализация (I18N)
- Альтернативный язык шаблонов
- Консольные приложения
- Безопасность
- Улучшение производительности
- Генерация кода при помощи консоли (устаревшее)
Обновление с версии 1.0 на версию 1.1
Изменения, связанные со сценариями модели
Удален метод safeAttributes(). Теперь, чтобы быть валидированными, безопасные атрибуты определяются правилами, определенными в методе rules() для конкретного сценария.
Изменены методы validate(), beforeValidate(), afterValidate(). setAttributes(), getSafeAttributeNames() и параметр 'scenario' удалены. Вы должны получать и устанавливать сценарий модели через свойство CModel::scenario.
Изменён метод getValidators() и удалён getValidatorsForAttribute(). CModel::getValidators() теперь возвращает только валидаторы, применяемые к сценарию, определенному свойством сценария модели (CModel::scenario).
Изменены методы isAttributeRequired() и CModel::getValidatorsForAttribute(). Параметр сценария удален. Вместо него следует использовать свойство сценария модели.
Удалено свойство CHtml::scenario. CHtml теперь использует сценарий, указанный в модели.
Изменения, связанные с 'жадной' загрузкой для отношений Active Record
- По умолчанию для всех отношений, включенных в 'жадную' загрузку, будет
сгенерировано и выполнено одно выражение с использованием JOIN. Если в основной
таблице есть опции запроса
LIMITилиOFFSET, то сначала будет выполнен этот запрос, а затем другой SQL-запрос, который возвращает все связанные объекты. Раньше, в версии 1.0.x, по умолчанию вызывалосьN+1SQL-запросов, если 'жадная' загрузка включалаNотношенийHAS_MANYилиMANY_MANY.
Изменения, связанные с псевдонимами таблиц в отношениях Active Record
Теперь псевдоним по умолчанию для связанной таблицы такой же, как и соответствующее имя отношения. Ранее, в версии 1.0.x, по умолчанию Yii автоматически генерировал псевдоним таблицы для каждой связанной таблицы, и мы должны были использовать префикс
??.для ссылки на этот автоматически сгенерированный псевдоним.Псевдоним для главной таблицы в AR запросе теперь всегда равен
t. В версии 1.0.x, он соответствовал имени таблицы. Данное изменение ломает код существующих запросов AR в том случае, если в качестве псевдонима было использовано имя таблицы. Решение — заменить такие псевдонимы на 't.'.
Изменения, связанные с табличным (пакетным) вводом данных
- Для имен полей использование записи вида
поле[$i]больше неверно. Они должны выглядеть так —[$i]поле, чтобы была возможность поддержки множественного ввода однотипных полей (например,[$i]поле[$index]).
Другие изменения
- Изменён конструктор CActiveRecord. Первый параметр (список атрибутов) убран.

