Yii2 beforeAction

Yii2 beforeAction

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

В одной из предыдущих статей мы с вами знакомились с полезным методом beforeSave. Напомню, данный метод вызывается перед методом save и может быть полезен нам в тех случаях, если мы хотим выполнить некоторые действия перед записью данных в БД.

Метод сегодняшней статьи — beforeAction — похож на предыдущий и, полагаю, вы уже догадались, в какой именно момент выполняется beforeAction… правильно, данная функция будет вызываться перед обращением к любому экшену.

Что это нам дает? Здесь все уже зависит от решаемых вами задач. Я приведу в статье лишь один пример использования beforeAction, который должен сделать понятной суть функции. Для начала давайте напишем этот метод в нужном нам контроллере.

В таком виде на вашем сайте ничего не должно измениться. Этим кодом мы просто перегрузили beforeAction и внутри нашего метода вызвали родительский. При этом пока что ничего больше мы и не делаем. В качестве параметра принимается $action, в которой хранится объект с массой свойств полезных и не очень. При желании можете распечатать данный объект и изучить его.

Среди прочего в этом объекте есть свойства actionMethod и id, в которых хранится название текущего экшена. Например, для главной страницы сайта они будут такими:

Yii2 beforeAction

Что это нам дает? Да то, что в зависимости от страницы (экшена) мы можем выполнить код или не выполнять его. И один из классических примеров, который показывался в предыдущей статье:

Смысл выполняемого кода следующий: если наименование действия, которое должно быть сейчас выполнено, входит в массив перечисленных (в примере выше это только один index), тогда необходимо выключить проверку CSRF-токена.

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

Метки:

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

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