我有这个基本代码:
$test = array(
'nested' => array('test' => 'nada');
);
function doit()
{
global $test;
$test['nested'][''];
}
PHPStorm正确地建议我嵌套'当我按Ctrl + Space
时
但是,我发现没有办法建议“测试”#39;作为嵌套'的成员阵列。
PHPStorm似乎并不知道嵌套是一个数组,也有成员。
这是一个错误,我做错了吗?
根据评论,我尝试了另一种解决方案来获得完成支持:
没有运气
class test
{
public static $nested = array('test' => 'nada');
}
function doit()
{
$completeme = test::$nested;
$completeme['']; // no completion working
/** @var test::nested $completeme */
$completeme = test::$nested;
$completeme['']; // no completion working
}
IDE的同样问题,这次它是一个类中的数组 test :: nested ['']<<这项工作,我完成了。但是,只要我复制它,我就找不到再次完成或使用phpdoc指定类型的方法。
答案 0 :(得分:0)
此功能未实现(original array keys support ticket)。
AFAIK甚至记住第一级数组的键会增加一些明显的开销(内存+ CPU - 取决于实际项目以及使用的数组/变量的重要性)。考虑到这一点+事实上,在大多数情况下,第一级是足够的,其他级别的实施被简单地搁置。
https://youtrack.jetbrains.com/issue/WI-6845 - 明星/投票/评论以获得有关进展的通知。