场景是这样的:php
定义了一个 MyComponent,在配置文件中加上这个组件的定义,好比: 'myComponent'=>['class'=>'app/components/MyComponent'], 就能够用Yii::$app->myComponent调用啦,可是,当输入、Yii::$app-> 后,myComponent不在自动提示的列表里,而且这个MyComponent的各类方法,PHPStorm没法给出代码提示,这对于追求效率和准确性的程序员是不可忍受的。git
解决方案:程序员
谷歌了一通,发现Yii2的核心开发人员之一,亚历山大,已经给出了解决方案,GITHub连接github
原理就是从新定义一个Yii类,而后利用PhpDoc,如:yii2
<!-- lang: php --> /** * 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就能够去对应的类里找到相应的方法,而后提示代码了。app