对于阵列中的数组,PHPStorm代码完成失败

时间:2014-09-30 03:09:14

标签: php autocomplete phpstorm code-completion

我有这个基本代码:

    $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指定类型的方法。

1 个答案:

答案 0 :(得分:0)

此功能未实现(original array keys support ticket)。

AFAIK甚至记住第一级数组的键会增加一些明显的开销(内存+ CPU - 取决于实际项目以及使用的数组/变量的重要性)。考虑到这一点+事实上,在大多数情况下,第一级是足够的,其他级别的实施被简单地搁置。

https://youtrack.jetbrains.com/issue/WI-6845 - 明星/投票/评论以获得有关进展的通知。