Yii2 beforeSave

Yii2 afterSave

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

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

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

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

Yii2 afterSave

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

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

Метки:

Похожие статьи:

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