我尝试为遗留 PHP 项目设置 VS Code,以针对其他 IDE 对其进行评估。我的问题是我得到的建议,当我按下<an object>->Ctrl+Space。例如,我想获得某个类的所有建议(属性和函数)。我在课堂上,我输入:
$this->(Ctrl+Space)
Run Code Online (Sandbox Code Playgroud)
我得到了一大堆函数和常量,这些是我通常可以在 PHP 中使用的东西,而不是我所在类的函数和属性。安装PHP Intelephense 扩展后,我得到了我需要的类方法我的建议,但它们仍然与其他所有内容混合在一起并且很难找到,除非我开始输入我需要访问的函数的第一个字母。为了向您展示我的意思,这就是我在类的函数中键入以下内容时得到的结果:
我不认为这是扩展的问题,因为即使我禁用了所有扩展,我仍然会收到大量建议。我如何删除所有不必要的建议,或者至少优先考虑班级特定的建议并在列表顶部看到它们?
为什么这在 PHP (7.3) 中没问题?它有什么用例吗?
<?php
$foo = [10, 20, 30];
echo $foo[]++, "\n", ++$foo[], "\n", ++$foo[], "\n";
Run Code Online (Sandbox Code Playgroud)
输出:
php test.php
1
1
Run Code Online (Sandbox Code Playgroud)
我预计会出现如下读取错误。
<?php
$foo = [10, 20, 30];
$foo[] += 1; // No error either
$foo[] = $foo[] + 1; //PHP Fatal error: Cannot use [] for reading in
Run Code Online (Sandbox Code Playgroud)