Поставил Mojo 0.999929.
Все хочу подробнее «поковырять» Mojo и Mojolicious — да вот все времени не хватает =(.
Для тех кто не знал/забыл — для установки/обновления этого замечательного Perl-фреймворка введите (ubuntu):
sudo cpanp install Mojo
Поставил Mojo 0.999929.
Все хочу подробнее «поковырять» Mojo и Mojolicious — да вот все времени не хватает =(.
Для тех кто не знал/забыл — для установки/обновления этого замечательного Perl-фреймворка введите (ubuntu):
sudo cpanp install Mojo
Я уже и забыл, что есть такая штука как «ассоциативность» операторов и что она бывает правая и левая. Ассоциативность определяет в какой последовательности выполняются операторы с одинаковым приоритетом.
Пример:
5**6**8 # в какой последовательности будет выполнено возведение в степень ?
Правильный ответ:
5**(6**8) # так как опертатор ** имеет правую ассоциативность
В «книге с ламой» очень правильно написано:
Нужно ли заучивать таблицу приоритетов и ассоциативности ?
НЕТ!
Никто этого не делает!
Если возникает неоднозначность — просто используйте скобки!
Тем самым вы облегчите жизнь тому, кто будет поддерживать ваш код!
Оказывается, практически любая комбинация знаков препинания используется в Perl для каких-нибдуь целей. Так что если у вас наступит творческий кризис, пустите кошку прогуляться по клавиатуре и отладьте результат.
«Изучаем Perl» стр.55
При разработке на 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'
));
Пусть Ваш код будет приятным для чтения и просмотра!