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就可以去对应的类里找到相应的方法,然后提示代码了。

时间: 2024-10-09 04:32:44

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

自定义Spring--DI依赖注入

1.框架思想 IoC(Inversion of Control,控制反转,反向控制),或者成为DI(Dependency Injection,依赖注入). 在传统程序中,相互的依赖性是固定在程序中的.程序的运行也是一步一步的,完全按照程序代码执行,根据代码就能知道程序怎样运行. 在Spring中程序间的依赖关系并不是直接写在程序中,而是配置在Spring文件中,有Spring在运行时配置的.在编译阶段,既没有实例化对象,也没有设置依赖关系,而是把依赖关系交给Spring,有Spring在运行阶段

otepad++ 配置 支持jquery、html、css、javascript、php代码提示

官网下载:http://notepad-plus-plus.org/ 获取插件的方法:打开软件,窗口工具栏有有一个问号,点获取插件. 我使用的插件(安装方法都是官方的方法): QuickText.v0.2.1.zip      //自定义缩写词,按快捷键后输出 定义的代码段   使用方法:http://immmmm.com/quicktext-for-notepad.html 安装方法: Just copy the QuickText.dll into Notepad++'s plugin di

Notepad++ 配置 支持jquery、html、css、javascript、php代码提示

原文:Notepad++ 配置 支持jquery.html.css.javascript.php代码提示 官网下载:http://notepad-plus-plus.org/ 获取插件的方法:打开软件,窗口工具栏有有一个问号,点获取插件. 我使用的插件(安装方法都是官方的方法): QuickText.v0.2.1.zip      //自定义缩写词,按快捷键后输出 定义的代码段   使用方法:http://immmmm.com/quicktext-for-notepad.html 安装方法: J

phpStorm支持CodeIgniter代码提示/自动完成

下载这个文件phpstorm-ci-ac 或者去github下载解压里面的三个文件到ci根目录下然后找到这三个文件 system\core\Controller.phpsystem\core\Model.phpsystem\database\DB_active_rec.php 点击右键, 选择Make as Plain Text. 如图: 至此phpstorm已经可以支持ci代码提示了 修改my_models.php文件可以使你自定义的类实现自动完成按照如下方法操作: Models to Loa

PHP IDE PHPStorm配置支持友好Laravel代码提示方法

PHPStorm神器可以支持更友好的laravel框架代码提示(点击查看),只需要执行如下才做:第一步:在项目的composer.json中添加如下一行 代码如下: "require": { "laravel/framework": "5.0.*", "barryvdh/laravel-ide-helper":"dev-master" } 第二步:执行composer update 第三步:添加servic

NOPI实现导入导出泛型List,支持自定义列

业务上需要自定义列的Excel的导入导出,在网上看了好多资料,很多都是有Bug而且都是支持Excel和DataTable的转换,所以自己总结了一下,应用.NET平台上的NPOI封装了支持自定义列的Excel导入导出到泛型List. 先大概说一下思路和原理,最后会附上源代码和demo供小伙伴们参考.有问题欢迎留言~ List To Excel: 参数:泛型集合数据,需要导出列名 根据提供的列名过滤集合的字段,并新建NPOI行,填充表头(应用字典类型替换数据列名为想要显示的名称)  并循环添加数据,

openhtmltopdf 支持自定义字体、粗体

一.支持自定义字体 private static void renderPDF(String html, OutputStream outputStream) throws Exception { try { PdfRendererBuilder builder = new PdfRendererBuilder(); addFont(builder, "D:\\font\\"); builder.useUnicodeBidiSplitter(new ICUBidiSplitter.IC

在PHPStorm中支持ThinkPHP代码提示

在phpstorm中开发ThinkPHP应用程序时,没有代码提示,困扰了很长时间,后来参考网上一些关于在phpstorm中支持YII框架代码提示的相关帖子,尝试在ThinkPHP中进行测试,目前测试成功,现留帖记录过程. 第1步:在phpstorm的settings选项菜单中,设置当前应用程序的包含目录(要包含ThinkPHP框架包). 第2步:在ThinkPHP框架包中,取消无关文件的代码提示影响. 到此,代码提示成功. 在PHPStorm中支持ThinkPHP代码提示

datasnap远程方法支持自定义对象传参

有同仁需要远程方法传输自定义的数据类型,他以为要自己写代码会很复杂,其实DATASNAP早就为我们想到了. datasnap的数据序列和还原真是无与伦比的强大,其远程方法支持自定义对象传参,DATASNAP会自动使用JSON序列和还原自定义的对象. 1)自定义一个对象 type TMyInfo = class(TObject) public AccountNo: string; SQL: string; Params: string; RecsMax: Integer; end; 2)服务端远程