PHPDoc和PhpStorm:表示魔术方法的返回类型

Bee*_*ice 2 php phpdoc phpstorm

一般来说,这就是我如何让我的IDE(PhpStorm 2017)识别我无法正式声明的变量类型:

/*
 * @var User $user
*/
foreach($users as $user){}
Run Code Online (Sandbox Code Playgroud)

IDE知道那$user是类User.现在我正面临着这条线的情况:

Yii::app()->user->login()
Run Code Online (Sandbox Code Playgroud)

具体来说,IDE不知道是什么类型user.我收到警告:

通过魔法方法访问的字段

所以我试着指定:

/**
 * @var User Yii::app()->user
 */
Yii::app()->user->login();
Run Code Online (Sandbox Code Playgroud)

但这并没有什么不同.如何帮助IDE解析类型?

小智 5

在项目phpdoc.php文件中创建并放下一个:

<?php

/**
 * Class Yii
 * @method static CApplication app()
 */
class Yii extends YiiBase
{
}

/**
 * Class CApplication
 *
 * @property User $user
 */
class CApplication extends CModule
{
}
Run Code Online (Sandbox Code Playgroud)