Yii2 beforeSave

Yii2 afterSave

От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы познакомимся с еще одним методом, который срабатывает в момент сохранения данных — метод Yii2 beforeSave. Также мы узнаем, как отличить сохранение новой записи (isnewrecord) от обновления прежней.

В предыдущей статье мы с вами познакомились с методом afterSave. Данный метод вызывается сразу после вызова метода save, т.е. сразы после сохранения данных в БД. Также мы узнали, как отличить создание новой записи (isNewRecord) от редактирования уже имеющейся.

В данной статье мы разберем метод, который работает точно по той же схеме с той лишь разницей, что вызывается он до сохранения данных. Поэтому данная статья будет достаточно небольшой, поскольку принцип работу обоих методов — идентичен. Где может пригодиться метод beforeSave? В прошлой статье мы рассмотрели классическое применение метода afterSave: коль запись сохранена — можно сообщить об этом пользователю. Это мы и реализовали с помощью сессионных сообщений и afterSave. В случае с beforeSave мы, к примеру, можем захотеть вызвать дополнительно какой-то метод, который произведет необходимые нам действия.

Итак, давайте мы исключительно в целях тестирования что-то запишем в сессионное сообщение так, как это делалось и в случае с afterSave:

public function beforeSave($insert)
{
    if (parent::beforeSave($insert)) {
        if ($insert) {
            Yii::$app->session->setFlash('success', 'Запись добавлена!');
        } else {
            Yii::$app->session->setFlash('success', 'Запись обновлена!');
        }
        return true;
    } else {
        return false;
    }
}

Yii2 afterSave

Обратите внимание на формат записи используемого метода. В отличие от afterSave, beforeSave должен обязательно возвращать результат работы реализуемого родительского метода. В противном случае метод save работать не будет.

На этом мы завершим текущую статью. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк YII2: теория и первая практика

Овладейте азами фреймворка Yii2 за 5 дней!

Получить

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree