302 редирект на yii2, откуда?

В Yii2, 302 редирект может быть сделан с одного действия (action) контроллера на другое. Этот редирект может происходить из нескольких мест:

1. Из метода контроллера напрямую: Вы можете использовать метод контроллера redirect() для создания 302 редиректа. Например:

return $this->redirect(['site/index']);

В этом случае, произойдет редирект на действие index контроллера site.

2. Из методов моделей: Модели в Yii2 обычно не должны быть ответственны за редирект, но в редких случаях это может быть полезно. Вы можете создать экземпляр Response и установить код состояния редиректа и URL в заголовках, чтобы сделать редирект. Например:

use yiiwebResponse;

$response = Yii::$app->response;
$response->setStatusCode(302);
$response->headers->set('Location', 'https://example.com');
$response->send();

В этом случае, произойдет редирект на https://example.com.

3. Из поведений (behaviors): Поведения - это компоненты, которые могут быть добавлены к моделям или контроллерам для расширения их функциональности. Поведения также могут быть ответственны за редиректы. Конкретные реализации поведений могут отличаться, но обычно они используют методы редиректа, описанные выше.

4. Из фильтров (filters): В Yii2 фильтры - это объекты, которые могут быть использованы для выполнения действий до или после выполнения действия контроллера. Фильтры также могут быть использованы для выполнения редиректа. Например, фильтр AccessControl может выполнить редирект, если доступ запрещен. Механизм редиректа в фильтрах, как правило, построен на базе методов редиректа, описанных выше.

Все вышеупомянутые способы могут быть использованы для создания 302 редиректа в Yii2. Окончательный выбор способа зависит от контекста использования, требований и логики вашего приложения.