php 补全数组,php框架 - php类数组成员变量怎么智能提示(自动补全)?

class a{

static $config = [

'id' => 1,

'status' => ['status1'=>1,'status2'=>2]

];

}

$s = new a();

echo s::config->id;

die;

怎样让s::$config->可以自动补全出来id和status.....

回复内容:

class a{

static $config = [

'id' => 1,

'status' => ['status1'=>1,'status2'=>2]

];

}

$s = new a();

echo s::config->id;

die;

怎样让s::$config->可以自动补全出来id和status.....

当然可以做到,可以借助phpdoc注解、一个实现了ArrayAccess接口且带有你需要的被提示的属性的辅助类,就可以了。

原理其实就是让ide误认为这个数组是个类进而自动提示补全属性名,而ArrayAccess具有把类对象当作数组操作的“黑”魔法。

ide的代码提示都是在加载工程的时候生成索引,然后在输入相关字符的时候出发检索完成提示,数组这种如果也要提示,可能性极小,这种耗费资源太多,而且都是局部的,不停的检索。不过如果用sublime它会提示最近用的词,这个或许可以满足一点你的需求

phpstorm可以自动提示类成员变量,至于提示数组类型成员变量的元素,暂时未涉及过

一般的IDE开发工具都会提示类成员变量和类成员方法名称,不过你说的提示我暂时还没找到过。

基本不能,简单来说这些数组是在运行时去创建的,语法解析现在没有做到这程度,而且也没有必要。

比如:

我要在代码里把数组里某个key给删了,提示怎么办?

这种数组结构层面上的补全注释和补全还不如研究研究phpdoc来得实在

ArrayAccess

新版一点的phpstorm已经支持了,今天同事说他的有提示啊,我的const array 声明直接就报红了。。。。 他的phpstorm就支持。。。。!!

bVENdR?w=261&h=41

PHPDoc +1 可以参考这个http://www.07net01.com/progra...

有些IDE是可以实现的 安装对应的插件也可以 建议用sublime

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值