首页 > 代码库 > Yii2 Day 3: 让PHPStorm支持自定义Component依赖注入代码提示

Yii2 Day 3: 让PHPStorm支持自定义Component依赖注入代码提示

场景是这样的:

定义了一个 MyComponent,在配置文件中加上这个组件的定义,比如: ‘myComponent‘=>[‘class‘=>‘app/components/MyComponent‘], 就可以用Yii::$app->myComponent调用啦,但是,当输入、Yii::$app-> 后,myComponent不在自动提示的列表里,并且这个MyComponent的各种方法,PHPStorm无法给出代码提示,这对于追求效率和准确性的程序员是不可忍受的。

解决方案:

谷歌了一通,发现Yii2的核心开发人员之一,亚历山大,已经给出了解决方案,GITHub链接

原理就是重新定义一个Yii类,然后利用PhpDoc,如:

/**
 * Class BaseApplication
 * Used for properties that are identical for both WebApplication and ConsoleApplication
 *
 * @property \app\components\MyComponent $myComponent
 * @property \app\components\Mailer $mailer The mailer component. This property is read-only. Extended component.
 */
abstract class BaseApplication extends yii\base\Application
{
}

有了@property定义后,PHPStorm就可以去对应的类里找到相应的方法,然后提示代码了。

Yii2 Day 3: 让PHPStorm支持自定义Component依赖注入代码提示