Для получения текущего пользователя в контроллере с использованием dependency injection в Yii2, вы можете воспользоваться следующим способом.
Создайте свой контроллер и объявите зависимость от интерфейса UserInterface:use yii\web\User; use yii\web\UserInterface; class MyController extends \yii\web\Controller { private $user; public function __construct(UserInterface $user, $id, $module, $config = []) { $this->user = $user; parent::__construct($id, $module, $config); } public function actionIndex() { $currentUser = $this->user->getIdentity(); // Далее можно использовать $currentUser для работы с текущим пользователем } }В файле конфигурации приложения (например, в файле config/web.php) добавьте следующую конфигурацию:return [ 'components' => [ 'user' => [ 'identityClass' => 'app\models\User', ], ], ];При использовании данного подхода, текущий пользователь будет доступен через dependency injection в контроллере без прямого обращения к статическому свойству Yii::$app->user.
Для получения текущего пользователя в контроллере с использованием dependency injection в Yii2, вы можете воспользоваться следующим способом.
Создайте свой контроллер и объявите зависимость от интерфейса UserInterface:use yii\web\User;use yii\web\UserInterface;
class MyController extends \yii\web\Controller
{
private $user;
public function __construct(UserInterface $user, $id, $module, $config = [])
{
$this->user = $user;
parent::__construct($id, $module, $config);
}
public function actionIndex()
{
$currentUser = $this->user->getIdentity();
// Далее можно использовать $currentUser для работы с текущим пользователем
}
}В файле конфигурации приложения (например, в файле config/web.php) добавьте следующую конфигурацию:return [
'components' => [
'user' => [
'identityClass' => 'app\models\User',
],
],
];При использовании данного подхода, текущий пользователь будет доступен через dependency injection в контроллере без прямого обращения к статическому свойству Yii::$app->user.