При разработке на Yii очень часто приходится иметь дело с формами и с моделями.
Формы (потомки CFormModel) и модели (CActiveRecord), как правило, принимают параметры и что-то с ними делают =). При этом часто можно видеть записи вида:
$model = new Model();
$model->attr_1 = 'attr_1';
$model->attr_2 = 'attr_2';
...................................
Такая «кишка» присваиваний выглядит в коде не очень здорово.
Вместо этого можно и нужно использовать метод setAttributes.
Если еще и отформатировать код как-нибудь вот так:
$registration = new Registration();
$registration->setAttributes(array(
'email' => $email,
'nickName' => $login,
'password' => $pass,
));
if($registration->save()){
..................................
}
Жизнь становится прекраснее!
Аналогично форматировать можно и код выборки данных, используя ORM Yii:
Question::model()->answered()->with('user.profile','fromUser')->findAll(array(
'condition' => 't.userId = :userId',
'limit' => self::STREAM_PER_PAGE,
'offset' => $already,
'params' => array('userId' => $user),
'order' => 't.creationDate DESC'
));
Пусть Ваш код будет приятным для чтения и просмотра!