php依赖注入 代码提示,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就可以去对应的类里找到相应的方法,然后提示代码了。
php依赖注入 代码提示,Yii2 Day 3: 让PHPStorm支持自定义Component依赖注入代码提示相关推荐
- html自定义标签提示,用简单的jquery+CSS创建自定义的a标签title提示tooltip_HTML/Xhtml_网页制作...
简介 用简单的jquery+CSS创建自定义的a标签title提示,用来代替浏览器默认行为.如图: Javascript代码 代码如下: $(function() { $("a[title] ...
- 依赖注入的三种方式_ASP.NET Core技术研究-探秘依赖注入框架
ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务.提供服务.依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者. 毫不夸张的说,ASP.NET ...
- spring自定义作用域 依赖注入之手动注入
自定义作用域 spring容器自带的有2种作用域,分别是singleton和prototype:还有3种分别是spring web容器 环境中才支持的request.session.applicati ...
- factorybean 代理类不能按照类型注入_《Spring入门经典》:使用Spring进行依赖注入
第二章:使用Spring进行依赖注入 重点:配置并使用Spring容器 使用不同类型的配置元数据来配置Spring容器 理解依赖解析 了解自动装配的优缺点 在容器中执行显式Bean查找 学习不同的Be ...
- Spring注入(Injection)——教你一点一点知道什么是依赖注入及注入方式
前言 在学习spring的时候有个很重的知识点,那就是注入,不同的注入方式为程序的运行效率,资源利用都有不同的好处,接下来就看看我通过看视频总结的注入. 一.引入注入 1.首先我们明确一个问题,什么注 ...
- Win10玩游戏提示由于找不到xinput1 3.dll无法继续执行代码
Win10玩游戏提示由于找不到xinput1 3.dll无法继续执行代码怎么办?一些用户使用电脑安装自己喜欢的游戏时,运行游戏的时候,遇到了错误提示.提示说缺少了一个xinput1 3.dll文件.其 ...
- Spring源码分析(十)依赖注入源码解析3:DefaultListableBeanFactory#doResolveDependency 真正开始解析依赖项
4.2 真正开始解析依赖项(最核心方法) org.springframework.beans.factory.support.DefaultListableBeanFactory#doResolveD ...
- linux6.5依赖文件,CentOS6.5-64位安装puppeteer,提示Chrome无法启动,查找并安装缺失依赖包——吕江民·敬上...
1.进入chrome目录 cd /mnt/project/express/back/chrome-linux 2.检测缺失的依赖包 ldd chrome | grep not // 检测结果 liba ...
- bugfree 检测不到mysql_安装bugfree时,提示Mysql未安装,找了网上的方法更改代码,但是还没有得到解决,怎么办?...
源自:- 安装bugfree时,提示Mysql未安装,找了网上的方法更改代码,但是还没有得到解决,怎么办? 问题出现在bugfree安装检查环境时,一直提示未安装mysql. 小编百思不得其姐, 最 ...
最新文章
- input框输入完回车即可查询事件
- android中编译和使用luajit开发应用,Android 嵌入 LuaJIT 的曲折道路
- POJ - 3259 Wormholes(判断负环)
- Redis java客户端操作
- JavaScript高级之继承
- 抖音2020研究报告_抖音音乐发布2020抖音音乐生态数据报告
- 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)
- 华为鸿蒙OS用户今年底或达2亿 将发布自研鸿蒙编程语言
- Android SystemClock 应用
- 在razor视图引擎中转义@字符
- chrome frame节点 取_Chrome Frame插件解决IE浏览器兼容问题
- Excel 做统计学分析
- drop index mysql_MySQL修改和删除索引(DROP INDEX)
- Implement AWS SQS and Lambda to decouple process flow
- Mysql 错误1366, Incorrect string value: '\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...' for column '
- 【私有,不喜勿入】健康
- 记住熊三木,一场关于文创产业“复兴十年” 的豪赌
- 电脑每隔约半分钟弹出this computer is being attacked
- Excel竟然可以批量解锁二维码内容的操作
- unity摄像机追踪屏幕抖动的问题