(Yii2) Как получить модель текущего пользователя?

На данный момент делаю так:
$userModel = Yii::$app->user->identity;
// В конфиге указано: 'identityClass' => 'common\models\User'

Но так как identity это объект интерфейса IdentityInterface, то PhpStorm не видит методы модели common\models\User.

Вот тут у меня и возник вопрос: Как получить модель текущего пользователя?
  • Вопрос задан
  • 8452 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
/** @var common\models\User $userModel */
$userModel = Yii::$app->user->identity;


по другому такие вещи можно разруливать только за счет плагинов к шторму. Как там ситуация с Yii на данный момент не слежу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Jekshmek
кодер штродер
Создаем в PhpStorm файл Yii.php в корне проекта
В котором перечисляем пользовательские компоненты для которых хотим autocomplit

<?php
/**
* Yii bootstrap file.
* Used for enhanced IDE code autocompletion.
*/
class Yii extends \yii\BaseYii
{
/**
* var BaseApplication|WebApplication|ConsoleApplication the application instance
*/
public static $app;
}

/**
* Class BaseApplication
* Used for properties that are identical for both WebApplication and ConsoleApplication
*
*
*
* @property \yii\i18n\Formatter $formatter
* @property \yii\log\FileTarget $log
* @property \yii\db\Connection $db
* @property \yii\mongodb\Connection $mongodb
* @property \yii\redis\Connection $redis
* @property \yii\redis\Session $session
* @property \yii\swiftmailer\Mailer $mailer
* @property \common\models\user\UserReqHandler $user

*/
abstract class BaseApplication extends yii\base\Application
{
}

/**
* Class WebApplication
* Include only Web application related components here
* @property \common\components\extensions\GrestExtension $grest Extended component.
*/
class WebApplication extends yii\web\Application
{
}

/**
* Class ConsoleApplication
* Include only Console application related components here
*
* @property \common\components\extensions\GrestExtension $grest Extended component.
*/
class ConsoleApplication extends yii\console\Application
{
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы