【发布时间】:2018-11-20 12:39:32
【问题描述】:
我的 PhpStorm IDE(版本 2017.3.4)有一点烦人的问题。
所以我想建议我在我的项目中定义的常量。但是当我尝试 Ctrl + Space 时,没有我定义的常量。
我所有的常量在我的项目中都是这样定义的:
在文件中:
$configFileDir = "configfile.php";
if (file_exists($configFileDir)) {
require_once($configFileDir);
try {
define('CONSTANT1', $MY_CONSTANT["CONSTANT1"]);
define('CONSTANT2', $MY_CONSTANT["CONSTANT2"]);
...
}
}
我所有的常量都在一个名为 $MY_CONSTANT 的数组中,该数组加载到文件 configfile.php 中。
另一件事:在我的项目中,这些常量被定义了 2 次。
到目前为止我所尝试的:
- 文件/使缓存无效
- 在首选项/语言和框架/PHP 中更改 PHP 版本
如果有人有想法,那就太好了:)。
解决办法:
为了从 IDE 获得建议,我刚刚删除了定义指令周围的 try..catch 块。之后,我们可以获得这些常量的自动补全:)。 (非常感谢@LazyOne)
【问题讨论】:
-
如果你在
try块内尝试print_r($MY_CONSTANT["CONSTANT1"]);die;。你得到常量的值吗? -
我正在尝试在我的 IDE 中获得建议,我的常量在运行时定义良好。
-
其实我看不懂你的问题。
-
当您在 phpStorm 上按 ctrl + 空格时,您会从 IDE 获得建议。所以在这里当我输入 CONST 并且在 CTRL + 空格之后没有关于我的常量的建议: CONSTANT1 和 CONSTANT2
-
现在的原因似乎是定义是在
try..catch块内完成的。将其移出并尝试这种方式。另外:youtrack.jetbrains.com/issue/WI-38507
标签: php phpstorm constants code-completion